Mailinglisten-Archive |
Norbert Hartl wrote: > ich bin gerade etwas ratlos bezueglich meiner Datenbank. Kenn' ich :-) > Die Datenbank laeuft auf einem Dual-PII-233 und einem > RAID, das intern mit UW und extern mit Differential RAID? Bedenke, daß RAID5 nicht optimal ist für Datenbanken ;-) (Wir haben selber Engpässe auf Dual-PII233ern mit RAID5). > Und ich benutze im Moment MySQL 3.22.20a (noch dynamisch > gelinkt und mit egcs-1.0.3 kompiliert) Wenn es um Performance geht, würde ich die binary distributions empfehlen. > Ich habe hier eine Tabelle, die aus 18 Spalten und einer 18 Spalten klingt nach sehr viel für eine gut normalisierte Struktur. > Es gibt hauptsaechlich 5 Spalten, die in der WHERE-Clause > auftauchen koennen. Diese sind kombinierbar, aber es > werden 3 davon immer benutzt und eben maximial 5. Ab- Ich habe nicht viel Ahnung von Datenbankdesign, aber "drei Spalten, die immer benutzt werden" hört sich nach einem Primärschlüssel an. Spricht hier etwas gegen die Normalisierungsregeln (mit denen ich mich selber nicht so gut auskenne :-)) ? > gefragt werden bei dem betreffenden SELECT 2 Spalten. Das spielt IMHO keine Rolle? > INDEX (col1,col2,col3,col4) > INDEX (col1,col2,col3,col5,col4) Gibt es einen PRIMARY KEY über (col1,col2,col3)? Gibt es überhaupt einen PRIMARY KEY? > Darueberhinaus habe ich per explain gesehen, dass oftmals > fuer den Fall c.) der erste und nicht der zweite INDEX > benutzt wird und das verstehe ich gar nicht. Das hängt sehr vom Query ab, ich denke mal, der Optimizer holt schon das beste für Dich raus :-) > 2.) Ich moechte die id als Primary Key von int auf medium- > int umstellen. Was passiert, wenn die ID 'ueberlaeuft'? > Soweit ich das sehe, hat MySQL keine Moegleichkeit untere > leere Bloecke wieder zu verwenden. Da ich jeden Tag ca. > 200.000 Datensaetze loesche und einfuege, die nach einem > Datumskriterium geloescht werden, bekomme ich einen quasi > zusammenhaengen Block von ids, der nach oben wandert. Schlimmstenfalls (wenn es möglich ist), die Datenbank sperren. Dann ein Update auf alle IDs, die als Schlüssel zusammenhängen, so in etwa SET ID=ID-100000 oder so. Matthias -- w e b f a c t o r y | matthias pigulla www.webfactory.de mp_(at)_webfactory.de
php::bar PHP Wiki - Listenarchive