Thread Wie genau die Indizes setzen...? (24 answers)
Opened by olruebe01 at 2006-07-12 07:01

olruebe01
 2006-07-12 07:01
#34532 #34532
User since
2006-01-19
192 Artikel
BenutzerIn
[default_avatar]
Hallo mal wieder,

ich bin noch bei meinen ersten SQL-Erfahrungen und bitte Euch gleich, Eure Antworten so zu schreibe, als wäre ich drei Jahre alt :-)

Ich habe eine DB mit etwa 20 Spalten. Inhalt sind Produktdaten, die mir per CSV-Datei zur Verfügung gestellt werden und regelmäßig upgedatet werden (sollen).

Es gibt also Spalten mit Produktbezeichnung, Kurzbeschreibung, Langbeschreibung, Preis, Verfügbarkeit, Kategorie, Bild-URL, und und und...

Suchen möchte ich jetzt nach einem Begriff, der in den Feldern Bezeichnung, kurzbeschreibung, Langbeschreibung und Keywords vorkommen kann. In dem Feld Bild-URL werde ich nicht suchen.

Sehe ich das nun richtig, dass ich auf die Felder, in denen ich suchen will (und nur auf diese) einen Index setzten sollte?

In allen Feldern gab es Duplikate. Wenn ich das richtig sehe, konnte ich aus diesem Grund keinen Primary legen. (Richtig?)
Ich habe also noch eine Spalte hinzugefügt, die einfach durchnummeriert wird und diese Spalte als Primary festgelegt. Wenn ich das richtig verstanden habe, war das so richtig. (Richtig?)

Ich hatte nun etwa 150.000 Produkte (=Zeilen) und alles war prima. Abfrage dauerte um 0.025 Sekunden oder so.
Die Abfrage war eine LIKE '%SUCHBEGRIFF%'. Habe nun gelesen, dass dies wohl etwas Leistung schluckt aber gibt es eine Alternative, wenn ich Suchbegriffe MITTEN in TExten suchen will?

Nun habe ich inzwischen etwa 500.000 Produkte angelegt. Eine Suchabfrage dauert nun weit über 30 Sekunden (Hilfe!!)

Wenn ich zwar nicht nach dem Preis suchen möchte aber die Suchergebnisse nach dem Preis sortieren lassen möchte, muss das Preis auch einen Index bekommen?

Habe ich da etwas falsch gemacht mit meinen Indizes?

View full thread Wie genau die Indizes setzen...?