phpbar.de logo

Mailinglisten-Archive

[php] 1.4 milli keys generieren?

[php] 1.4 milli keys generieren?

Beck, Mike php_(at)_phpcenter.de
Thu, 1 Aug 2002 15:13:49 +0200


> 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