it-swarm.com.de

Gibt es Leistungsaspekte bei der Verwendung benutzerdefinierter Beitragstypen?

Stellen Sie sich eine geschäftige Site mit etwa 10.000 Posts vor, die in 10 benutzerdefinierte Post-Typen unterteilt sind. Benutzerdefinierte Taxonomien und benutzerdefinierte Felder werden auch für alle von ihnen verwendet.

Die Hauptabfrage wurde dahingehend geändert, dass alle diese Beitragstypen in Index, Archiv, Suche und Feeds enthalten sind.

Nun, gibt es Leistungseinbußen durch die Verwendung von benutzerdefinierten Beitragstypen im Vergleich zu regulären "Beitrag"? Oder würde es keinen Unterschied machen, welche Typen es sind?

2
Michael Rogers

Nein. Alle Beiträge werden in der Tabelle wp_posts gespeichert. Der Beitragstyp wird durch die Spalte post_type definiert.

Unabhängig von benutzerdefinierten Beitragstypen, die in der Abfrage enthalten sind, wird nur eine SQL-Abfrage ausgeführt. Natürlich kann es zu Leistungseinbußen kommen, die durch eine etwas komplexere Abfrage (in vs. =) verursacht werden, aber dies ist marginal.

2

Nein, es gibt keinen signifikanten Leistungsunterschied .

  • Sie werden intern alle auf dieselbe Weise gespeichert
  • Sie werden alle auf dieselbe Weise abgefragt

Bei jeder Abfrage handelt es sich um eine Post-Typ-Abfrage. Wenn Sie keine angeben, wird post verwendet. Die integrierten Post-Typen haben keinen besonderen Leistungsvorteil gegenüber benutzerdefinierten Post-Typen, und die Post-Typ-Spalte wird aus Leistungsgründen indiziert

3
Tom J Nowell

Es gibt keinen Unterschied, das CPT wird in derselben wp_posts-Tabelle wie "normale" Posts gespeichert - wie in den meisten Antworten hier erwähnt - ich würde jedoch auch hinzufügen, dass die Leistung can beeinflusst wird Wenn Sie viele Postmeta-Felder (benutzerdefinierte Felder) speichern, sollten Sie - um eine optimale Leistung zu erzielen - versuchen, "Lose" nicht in Postmeta zu speichern. Verwenden Sie daher benutzerdefinierte Taxonomien, wo immer dies möglich ist.

2
Silicon Dales

Ich habe Websites mit 400.000 - 500.000 Posts bearbeitet und sie funktionieren einwandfrei. 10.000 Posts sind für WordPress unabhängig von der Verwendung von benutzerdefinierten Taxonomien und benutzerdefinierten Feldern nicht zu handhaben.

WordPress hat eine sehr ausgereifte Architektur, um Post-Meta-Daten zu verarbeiten, und die integrierten Funktionen und Prozeduren sind gut genug, um viele Daten zu verarbeiten.

Als Erstes müssen Sie wissen, dass WordPress page, post und <custom-post-types> speichert. Sie werden in der wp_post-Tabelle gespeichert, und die post_type-Felder unterscheiden sie. Die Metadaten werden in der Tabelle wp_postmeta gespeichert. Jedes benutzerdefinierte Feld wird durch meta_key identifiziert und durch das Feld post_id mit dem Beitrag verknüpft.

Das einzige Leistungsproblem ist die Art und Weise, wie Sie sie abrufen. Die maximale Optimierung Ihrer benutzerdefinierten Abfrage ist die Lösung für Ihre Leistungsprobleme!

1
Hassan Alvi