Mailinglisten-Archive |
> > 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. > > Vielleicht gehts es ja auch am schnellsten, wenn man erst mit einer > php Routine prüft, ob der Key gültig ist, und dann alle Keys, die > bereits benutzt worden sind in eine Tabelle schreibt. Scheinbar > geht es ja um eine Werbeaktion, und bei der üblichen Rücklaufquote > von 2-5% hättest du es plötzlich nicht mehr mit 1.4 Mio sondern mit > übersichtlichen 28 bis 70 Tausend Keys in deiner Tabelle zu tun. was nur bedeutet, dass Du irgendwann damit anfängst indem Du eine komplett neue tabelle erstellst, die zu dem Zeitpunkt dann immer noch vielleicht eine Million Einträge hat (das dauert richtig) und dann jedesmal dort einen Eintrag rauslöscht, was auch nicht wesentlich schneller ist als es aus einer 1,4 Mill. Einträge grossen Tabelle zu löschen. wie gesagt - ich gehe davon aus, dass das finden eines Eintrags innerhalb der Tabelle nicht wirklich lang dauert - 1,4 Millionen sollte kein Problem für MySQL sein - alles andere wird für den Server eher umständlicher -- Mike Beck mike.beck_(at)_users.sourceforge.net
php::bar PHP Wiki - Listenarchive