Verfasst: 06.05.2007 16:43
Vergleichen wir doch mal: Laut http://dev.mysql.com/doc/refman/5.0/en/ ... ments.html benötigt ein Integer Feld 4 byte und ein DATE Feld 3 Byte.
Das macht dann bei meiner Variante 11 Byte pro Datensatz. 11 * 35000 = 385000 = 385 kb. Wohlgemerkt nur, wenn wirklich jedes Profil an jedem Tag mindestens einmal aufgerufen wurde - wenn z.B. Jeden Tag nur 100 Profile aufgerufen werden, bleiben gerade mal 7kb übrig. Ausserdem fällt bei meiner Variante das "umschaufeln" weg und du kannst auch spontan die Anzahl Tage erhöhen oder verringern.
Bei deiner Variante fallen für 8 Integer 32 byte Speicher pro Datensatz an. Macht bei voller Auslastung 32 * 5000 = 160000 = 160 kb. Wenn du auch optimierst und nur für tatsächlich aufgerufene Profile Datensätze anlegst, kommst du bei 50 "Stammprofilen" plus 50 unterschiedlichen Profilen pro Tag auf 400 Datensätze, macht 12 kb.
Bei entsprechender Optimierung braucht meine Lösung also sogar weniger Speicher als deine. Aber selbst wenn man vom in der Praxis unrealistischen Fall der Maximalauslastung ausgeht, kommt man noch nichtmal auf ein halbes Megabyte - für aktuelle Server also keine ernstzunehmende Belastung. Und mit entsprechenden Schlüsseln kann man die bei dieser Datenmenge ohnehin geringe Zugriffszeit nochmal optimieren.
Das macht dann bei meiner Variante 11 Byte pro Datensatz. 11 * 35000 = 385000 = 385 kb. Wohlgemerkt nur, wenn wirklich jedes Profil an jedem Tag mindestens einmal aufgerufen wurde - wenn z.B. Jeden Tag nur 100 Profile aufgerufen werden, bleiben gerade mal 7kb übrig. Ausserdem fällt bei meiner Variante das "umschaufeln" weg und du kannst auch spontan die Anzahl Tage erhöhen oder verringern.
Bei deiner Variante fallen für 8 Integer 32 byte Speicher pro Datensatz an. Macht bei voller Auslastung 32 * 5000 = 160000 = 160 kb. Wenn du auch optimierst und nur für tatsächlich aufgerufene Profile Datensätze anlegst, kommst du bei 50 "Stammprofilen" plus 50 unterschiedlichen Profilen pro Tag auf 400 Datensätze, macht 12 kb.
Bei entsprechender Optimierung braucht meine Lösung also sogar weniger Speicher als deine. Aber selbst wenn man vom in der Praxis unrealistischen Fall der Maximalauslastung ausgeht, kommt man noch nichtmal auf ein halbes Megabyte - für aktuelle Server also keine ernstzunehmende Belastung. Und mit entsprechenden Schlüsseln kann man die bei dieser Datenmenge ohnehin geringe Zugriffszeit nochmal optimieren.