Ich muss ein neues Tabellensystem erstellen, es wird eine ID und 10 varchars(255)
pro ID speichern. Mehr muss es nicht speichern. Anders als das offensichtliche Einfügen/Löschen/Aktualisieren nur für ganze Zeilen ist die einzige andere Abfrage, die ausgeführt wird, eine SELECT * FROM table WHERE id='id'
. 7 Millionen Datensätze.MYSQL Geschwindigkeit dieser Abfrage und optimierte Tabellenstruktur
Ich habe 2 Strukturen kam ich mit, das ist:
(1) - einzelne Tabelle, id, dann 10 varchars
, schließt sich nicht, nichts Besonderes, ist id Primärschlüssel, einfach select *
.
(2) - 2 Tabellen, zuerst hat ID, dann 10 ganzzahlige Elemente, Sekunde hat integer(auto increment)
und die varchars
. Dies würde einen Join verwenden. Daher würde ich 10 Joins pro Abfrage schätzen.
Offensichtlich 2 ist besser als eine formale Struktur und für spätere Tabelle Strukturänderungen, ABER, in Bezug auf SPEED der Abfrage allein, was ist besser?
um, danke, aber wer wird schneller sein? – David19801
@David: Erste (mit allen Werten in einer einzelnen Zeile). "Weniger effizient" in der EAV-Beschreibung bedeutet "langsam" :) – Quassnoi