Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL-Tabelle mit Listeneintrag vs. SQL-Tabelle mit einer Zeile für jeden Eintrag

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. Weil Abfragen vom Typ LIKE '%something%' nicht verwenden können Indizes . Sie suchen also sehr langsam. Wenn das nicht genug ist, verwenden Sie so ziemlich ein RDBMS-Anti-Pattern. Weitere Details hier:Ist das Speichern einer Liste mit Trennzeichen in einer Datenbankspalte wirklich so schlecht?

Sobald Sie Ihre „CSV“-Spalte in separate Spalten aufgeteilt haben, können Sie noch weiter gehen, indem Sie die Datenbank normalisieren.