S
struppi
Guest
Hast du auch geprüft, was passiert, wenn du nicht alle varchar Felder indizierst?hab die werte in den int felder angepasst und 3 Felder (JM, Bilanzkreis und Beschreibung) als index gesetzt.
Die Tabelle braucht zwar immer noch ein wenig um die datensätze einzulesen aber ich konnte so die Abfragezeit halbieren!
Ein Index ist quasi eine Kopie der Daten, d.h. wenn du auf alle Felder einen Index setzen würdest, dann wäre der Index genauso gross wie die Tabelle. Und logischwerweise ist der Index umso schneller je kleiner er ist.
Aus deiner Beschreibung geht nicht hervor, welchen Zweck das Feld JM hat. Zumal du ja schon zwei Datumsfelder in der Tabelle hast (die aber dummerweise nicht als Datumfelder angelegt sind) und warum JM in "allen Feldern" existiert?
Ich finde es sehr seltsam, dass jemand mit deinen Kenntnissen mit einem anscheinend grossen Projekt befassen muss. Mein Einstieg für SQL war ein deutlich kleineres. Und dafür habe ich mir erstmal ein Buch gekauft (nicht empfehlenswert, aber als Grundlage hilfreich) und viel Online recherchiert. Ich vermute mal den Begriff Normalisierung hast du noch nicht gehört? Was aber ein Vorrausetzung ist um Datenbanktabellen zu entwickeln.
Und selbst trotz dieser umfangreichen Recherche, mußte ich im Laufe der Zeit feststellen, dass ich viele Dinge komplett falsch gemacht habe und die Tabellen immer wieder ummodeln, vor allem das richtige Indizieren ist ein Wissenschaft für sich.