web-dev-qa-db-fra.com

Existe-t-il une considération de performance lors de l’utilisation de types de publication personnalisés?

Considérez un site occupé avec environ 10 000 publications réparties en 10 types de publication personnalisés. Des taxonomies personnalisées et des champs personnalisés sont également utilisés sur chacun d'entre eux.

La requête principale a été modifiée pour inclure tous ces types de publications partout, dans les index, les archives, la recherche et les flux.

Maintenant, y at-il un impact négatif sur les performances causé par l'utilisation de types de publication personnalisés par rapport à "publication" régulière? Ou cela ne ferait aucune différence quels types ils sont?

2
Michael Rogers

Tous les articles sont stockés dans la table wp_posts. Le type de publication est défini par la colonne post_type.

Quels que soient les types de publication personnalisés inclus dans la requête, une seule requête SQL est exécutée. Bien sûr, une requête un peu plus complexe (in vs. =) peut nuire aux performances, mais elle est marginale.

2

Non, il n'y a pas de différence de performance significative .

  • Ils sont tous stockés de la même manière en interne
  • Ils sont tous interrogés de la même manière

Chaque requête est une requête de type publication. Si vous ne spécifiez pas lesquelles, elle utilisera post, les types de publication intégrés ne présentent aucun avantage en termes de performances par rapport aux types de publication personnalisés et la colonne de type de publication est indexée pour améliorer les performances.

3
Tom J Nowell

Il n'y a pas de différence, le CPT est stocké dans la même table wp_posts que les messages "normaux" - comme mentionné par la plupart des réponses ici - cependant, j'ajouterais également que la performance peut être impactée si vous stockez beaucoup de postmeta (champs personnalisés), essayez donc de ne pas stocker de "lots" dans postmeta - utilisez des taxonomies personnalisées dans la mesure du possible!

2
Silicon Dales

J'ai traité des sites contenant entre 400 000 et 500 000 articles et ils fonctionnent bien. 10 000 articles ne sont en aucun cas pour WordPress à gérer, indépendamment de l'utilisation de taxonomies et de champs personnalisés.

WordPress a une architecture très mature pour gérer les méta-données postérieures et les fonctions et procédures intégrées sont assez performantes pour gérer des charges de données.

La première chose à savoir est que WordPress stocke page, post & <custom-post-types> de la même manière, ils sont stockés dans la table wp_post et les champs post_type les différencient; les métadonnées sont stockées dans la table wp_postmeta chaque champ personnalisé est identifié par meta_key et lié à la publication par le champ post_id!

Le seul problème de performances réside dans la façon dont vous les récupérez. Optimiser votre requête personnalisée au maximum est la solution à vos problèmes de performances!

1
Hassan Alvi