Zum Beispiel habe ich eine "NAMES" Tabelle, die eine einzige Name
Spalte des Typs varchar(10)
hat; Diese Tabelle hat 500 Zeilen. Ich habe auch eine "NAME_COLLECTIONS" -Tabelle mit einer Spalte vom Typ longtext
; In der einzelnen Zeile der Tabelle enthält diese Spalte eine Zeichenfolge der Länge 5500.Was ist schneller - Abrufen einer Spalte aus n Spalten mit einem einzelnen Wert der Größe t, oder Abrufen von es aus 1 Spalte, aber der Größe n * t?
Wird SELECT * FROM NAMES WHERE :Name = 'Tom';
langsamer ausgeführt als SELECT * FROM NAME_COLLECTIONS;
?
Wie wirkt sich die Erhöhung der Anzahl der Spalten in NAMES gegenüber der Erhöhung der Größe des einzelnen Textes in NAME_COLLECTIONS auf die Leistung aus?
Ich bin geneigt zu erraten, dass bei sonst gleichen Bedingungen die Aufteilung der Daten über mehrere Zeilen würde ein bisschen mehr Overhead für das DBMS in einem vollständigen Tabellenscan, aber selten ist alles andere gleich. Das ist ohnehin eine weitgehend leere Frage - eine sinnvolle Anwendung, in der beide vorgeschlagenen Darstellungen der Daten semantisch gleichermaßen angemessen sind, ist schwer vorstellbar. –