Ist es in MySQL im Allgemeinen schneller/effizienter/skalierbarer, 100 Zeilen mit 3 Spalten oder 1 Zeile mit 100 Spalten zurückzugeben?Was ist schneller: Viele Zeilen oder viele Spalten?
Mit anderen Worten, wenn viele key => value-Paare zu einem Datensatz gespeichert werden, ist es besser, jedes key => value-Paar in einer separaten Zeile mit der record_id als Schlüssel oder pro Zeile zu speichern record_id mit einer Spalte für jeden Schlüssel?
Nehmen Sie auch an, dass Schlüssel ziemlich regelmäßig hinzugefügt/entfernt werden müssen, was die langfristige Wartbarkeit des Ansatzes mit vielen Spalten beeinflussen würde, sobald die Tabelle ausreichend groß wird.
Edit: zu klären, durch "eine regelmäßige Basis" meine ich die Zugabe oder Entfernung eines Schlüssels einmal im Monat oder so.
Einmal im Monat ist regelmäßige Basis. Sobald Ihre Anwendung in Produktion geht, sollten Sie das Datenbankschema niemals ändern. Die einzige Ausnahme besteht darin, dass sich Ihre geschäftlichen Anforderungen grundlegend ändern. –
Diese Antwort beantwortet nicht die Frage, ob ein Schema mit mehr Spalten oder mehr Zeilen schnellere Abfragen zur Folge hat. Außerdem gibt es keine Erklärung für diese Antwort, die nicht die tatsächliche Entwicklung der Software widerspiegelt. Ich verstehe nicht, warum diese Antwort die "richtige" Antwort ist. – GregT