mysql - zusammenfassen - sql summe mehrere zeilen



SQL-Tabelle mit Listeneintrag im Vergleich zu SQL-Tabelle mit einer Zeile für jeden Eintrag (1)

Ich habe eine Sqlite Tabelle, in der jede Zeile die Form von:

value, "a,b,c,d,e,f,g,h,i,j", value3, value4

Wo meine Abfragen nach einer Wertpaarung suchen, %b% mit LIKE . Ist es in Bezug auf die Abfragezeit effizienter, stattdessen eine Tabelle zu haben, in der jede Zeile eine Permutation ist:

value, a, value3, value4
...
value, j, value3, value4

Damit meine Abfragen jetzt Wert sind, b verwenden Sie diesmal den Operator =.

Hinweis: Der Anwendungsfall, an dem ich interessiert bin, enthält derzeit ~ 10.000 Zeilen, in denen jedes "Listen" -Element durchschnittlich 8 Einträge enthält. Ich habe sowohl Sqlite als auch MySQL getaggt, weil ich für eine MySQL mit MySQL und Sqlite ein ähnliches Problem Sqlite .


Wo meine Abfragen nach einer Wertpaarung suchen,% b% mit LIKE. Ist es in Bezug auf die Abfragezeit effizienter, stattdessen eine Tabelle zu haben, in der jede Zeile eine Permutation ist:

Ganz sicher. Da Abfragen vom Typ LIKE '% something%' keine Indizes verwenden können . Sie werden also sehr langsam nachschlagen. Wenn das nicht ausreicht, verwenden Sie so ziemlich ein RDBMS-Anti-Pattern. Weitere Details hier: Ist das Speichern einer begrenzten Liste in einer Datenbankspalte wirklich so schlecht?

Sobald Sie Ihre CSV-Spalte in separate Spalten unterteilt haben, können Sie sie durch Normalisieren der Datenbank weiterentwickeln.





sqlite3