Effizienz von wp_options gegenüber einer neuen Tabelle

Ich baue ein WordPress Theme-Framework, das wahrscheinlich viele Optionen im Laufe der Entwicklung haben wird.

Ich habe eine verwandte Frage gefunden: Wann ist es angebracht, eine neue Tabelle in der WordPress-database zu erstellen? , was anzeigt, dass eine neue Tabelle effizienter wäre, aber ich würde gerne mehr wissen.

Es macht Sinn, wenn es schneller ist, eine neue Tabelle für tausend Einträge zu verwenden, muss es auch für Dutzende oder Hunderte von Einträgen schneller sein. Außerdem kann die Tabelle wp_options sehr unübersichtlich werden.

Was sind die Unterschiede zwischen Ausführungszeit, Speicherbelegung und anderen Faktoren zwischen diesen beiden Optionen?

Solutions Collecting From Web of "Effizienz von wp_options gegenüber einer neuen Tabelle"

Es macht Sinn, wenn es schneller ist, eine neue Tabelle für tausend Einträge zu verwenden, muss es auch für Dutzende oder Hunderte von Einträgen schneller sein.

Bei der performance geht es nicht um die reinen Zahlenzeilen – die tatsächliche Menge an Daten und deren Struktur zählt. In der Regel verwenden Sie nur die Motiv-API . Ihre Theme-Daten befinden sich an einem vorhersagbaren Ort und können problemlos von Plug-ins exportiert oder geändert werden. Die theme mod-API speichert alle Daten in einer einzigen Option, so dass eine überladene Optionstabelle nicht dein Problem sein wird.

Aber wenn Sie sehr tiefe Arrays oder Objekte in Ihre Themendaten einfügen, kann die (De-) Serialisierung das Lesen und Schreiben dieser Optionen verlangsamen. Ich würde in diesem Fall lieber an meinen Datenstrukturen arbeiten, als eine neue Tabelle zu erstellen. Und ich würde ein gutes Caching-Plugin verwenden, um databaseabfragen zu verringern.

Wenn Sie sich für separate Tabellen entscheiden, finden Sie eine gute Lösung für untergeordnete Themen und Multi-Site-Installationen. Stellen Sie sich ein kleines Netzwerk mit 100 Blogs vor. Erstellen Sie für jedes Blog eine neue Tabelle? Oder teilen alle Blogs eine Tabelle?

Ich würde eine separate Tabelle nur verwenden, wenn das Tabellenschema von WordPress meine Datenstruktur nicht abbilden konnte. Bei einem Thema ist dies wahrscheinlich nicht der Fall.

Wenn Ihr Themenframework so viele Optionen enthält, dass Sie darüber nachdenken, sie in eine separate Tabelle zu legen, tun Sie es mit Doing It Wrong ™.

Was sind die Unterschiede zwischen Ausführungszeit, Speicherbelegung und anderen Faktoren zwischen diesen beiden Optionen?

Es hängt davon ab, wie Sie die Tabelle erstellen (Spaltendatentypen, Indizes), wie viele Zeilen es hat und welche Art von Abfragen Sie durchführen.

Die Tabelle “wp_options” (zusammen mit der zugehörigen API) ist für die einfache Suche nach Schlüsselwerten optimiert. Dies ist genau das, was Sie zum Speichern von Designoptionen benötigen.