Existe alguma consideração de desempenho ao usar Custom Post Types?

2

Considere um site movimentado com cerca de 10.000 postagens divididas em 10 tipos de postagens personalizadas. Taxonomias personalizadas e campos personalizados também são usados em todos eles.

A consulta principal foi modificada para incluir todos esses tipos de postagens em todos os lugares, no índice, arquivos, pesquisa, feeds.

Agora, há algum impacto no desempenho causado pelo uso de tipos de post personalizado em relação ao 'post' regular? Ou não faria diferença quais tipos eles são?

    
por Michael Rogers 08.03.2018 / 01:03

4 respostas

2

Não. Todas as postagens são armazenadas na tabela wp_posts . O tipo de postagem é definido pela coluna post_type .

Independentemente dos tipos de postagem personalizados incluídos na consulta, há apenas uma consulta SQL executada. É claro que pode haver algum impacto no desempenho causado por uma consulta um pouco mais complexa (em vs. =), mas é marginal.

    
por Krzysiek Dróżdż 08.03.2018 / 01:53
3

Não, não há diferença significativa de desempenho .

  • Eles são todos armazenados da mesma maneira internamente
  • Todos eles são consultados da mesma maneira

Cada consulta é uma consulta de tipo de postagem, se você não especificar quais, usará post , os tipos de postagem incorporados não terão nenhuma vantagem especial sobre os tipos de postagem personalizados e a coluna de tipo de postagem será indexada para desempenho

    
por Tom J Nowell 08.03.2018 / 01:19
2

Não há diferença, o CPT é armazenado na mesma tabela wp_posts como posts "normais" - como mencionado pela maioria das respostas aqui - no entanto, eu também gostaria de acrescentar que onde o desempenho pode ser impactado é se você armazena muito postmeta (campos customizados) então -  para melhor desempenho - tente não armazenar "lotes" em postmeta - então use taxonomias customizadas onde for possível!

    
por Silicon Dales 19.03.2018 / 22:54
1

Eu cuidei de sites com 400.000 - 500.000 postagens e eles funcionam bem. 10.000 postagens não são nada para o WordPress, independentemente do uso de taxonomias personalizadas & campos personalizados.

O WordPress tem uma arquitetura muito madura para lidar com dados pós-meta e as funções e procedimentos internos são bastante bons o suficiente para lidar com cargas de dados.

A primeira coisa que você precisa saber é que o WordPress armazena page , post & <custom-post-types> , eles são armazenados na tabela wp_post e os campos post_type os diferenciam; os meta dados são armazenados em wp_postmeta table cada campo personalizado é identificado por meta_key e vinculado à postagem por post_id field!

O único problema de desempenho é a maneira como você os recupera, otimizar sua consulta personalizada para o máximo é a solução para seus problemas de desempenho!

    
por Hassan Alvi 08.03.2018 / 09:12