Hi,
ich hab eine fette Datenbank (MySQL) mit knapp 61.000 Zeilen, was ziemlich genau 100MB entspricht.
Im wesentlichen isses jeweils ein Titel, Text, Datum, Rubrik und ein Link.
Titel und Text sollen durchsucht werden können, Datum auch.
Über Titel und Text hab ich einen Volltextindex gelegt (macht nochmal satte 103MB!).
Datum ist nicht als Datumsfeld, sondern VARCHAR angegeben. Hätte ich durch ein Datenfeld gewisse Vorteile was die Performance betrifft?
Ich hab das Problem dass Suchvorgänge für ein und das selbe Wort manchmal weniger als 50ms brauchen, und manchmal über 60Sekunden, kann sich das jemand erklären? Was wäre bei den Verhältnissen normal?
Ich hab auch testweise ein Tabelle nur mit 61.000 Datums-Werten angelegt und diese mit "WHERE xy LIKE ''" durchsucht. Das war tausend mal schneller als wenn ich das selbe mit der großen Tabelle gemacht hab, liegt das daran dass in der Tabelle _nur_ diese eine Spalte war? Würde es deshalb Sinn machen Text und Titel von den anderen Spalten in eine eigene Tabelle abzutrennen?
Naja, alles in Allem suche ich hier nach wertvollen Tipps wie ich eine so große DB möglichst schnell durchsuchen lassen kann. Was für Indizes brauch ich? Welche Werte? (MySQL Befehl)
Worüber sollte ich die Indizes legen? Die Artikel sind auch in Rubriken unterteilt (davon gibt es ca. 100) welche als Integer gespeichert sind. Wie soll ich diese 'verwalten', wenn ich mal die Suche nur auf ein paar Rubriken beschränken will?
Ganz nebenbei, wie schafft Google das?? ;)
Ich hoffe ihr könnt mir helfen...
cu RFZ