Mailinglisten-Archive |
> du hast recht, hab in mysql noch nicht die erfahrung, bin nur > geblendet von den 1.4 millionen. > warum ist es von vorteil einen char zu nehmen und nicht einen int? is keiner, int ist sicherlich schneller (und wie schon in anderer mail gesagt, nach möglichkeit unsigned int) ich bezweifele eigentlich sogar, dass das verteilen auf mehrere identische tabellen einen geschwindigkeitszuwachs gibt - eher im gegenteil: wenn sich die indexsuchzeit so wie von Matthias Gloss geschrieben verdoppelt wenn sich die keymenge quadriert wie wenig performancegewinn Du hast wenn Du ein paar mehr Tabellen verwendest - gleichzeitig hast Du aber deutlichen Mehraufwand um rauszufinden wo sich dein key befindet oder wo Du einen neuen hinschreibst. worüber ich mir mehr Gedanken machen würde: Du sagst, dass die Keys nur einmal verwendet werden dürfen? Ich würde davon absehen die keys danach zu löschen, lieber eine spalte 'giltnoch' als enum Feld und da noch einen Index drauf - das ändern des Primärindex könnte beim löschen einer Zeile aus dieser DB nämlich vergleichsweise lang dauern, das nimmt wahrscheinlich den DB Server mehr mit als zu prüfen ob dahinter im Enumfeld 'J' oder 'N' steht. (ich tippe mal es wird sogar noch schneller, wenn Du auf das enumfeld _keinen_ index machst - ich wette MySQL verwendet ihn sowieso nicht (es wird immer nur ein Index auf einmal verwendet und da wird der auf dem Primärkey für MySQL interessanter sein - somit macht Dir ein Index auf dem Enum nur wieder das einfügen/ändern langsamer) Gruß -- Mike Beck mike.beck_(at)_users.sourceforge.net
php::bar PHP Wiki - Listenarchive