phpbar.de logo

Mailinglisten-Archive

Abfrageoptimierung

Abfrageoptimierung

Tim Hildebrandt TConnect at gmx.net
Mon Jun 19 16:30:44 CEST 2006


Hallo Sebastian,

> > Dann 
> > würde es Deiner Ausführung nach mehr Sinn machen, einen Gesamtindex 
> > über die Spalten "Klickzeitpunkt, RubrikPfad, DokumentID, BildID" 
> > statt jeweils über die einzelnen Spalten zu erzeugen?
> 
> du brauchst einen Index über die Spalten die in der Abfrage 
> im ORDER, WHERE oder JOIN Teil vorkommen, und die Reihenfolge 
> ist natürlich auch noch relevant

Ist nur eine Tabelle und ausgewertet wird in der Regel nur eine Spalte
hinsichtlich eines begrenzten Zeitraums. 

 
> ... und wenn du eh ALLE Felder der Tabelle benötigst wäre der 
> Index selber ja genauso groß wie die Tabelle ... weniger praktisch

nun ja, aber ich möchte ja alles wissen. Und das möglichst schnell... :-)


Das der Index da recht groß wird, muß ich wohl hinnehmen. Meine Idee
diesbezüglich ist es, die Tabelle in mehrere kleinere aufzuteilen und darin
immer nur die Daten der jeweiligen Zeit-Bereiche zu speichern. Ich überlege
gerade, ob ich als begrenzenden Faktor da die tatsächliche Tabellengröße
oder vielleicht sogar einfach nur die Monatszahlen verwende. Also vielleicht
"statistik_2006_06", "statistik_2006_07" u.s.w. und die Abfrage dann mittels
UNION anhand der tatsächlich abgefragten Zeiträume zusammensetze. Das wäre
auf jeden Fall besser als die Tabelle z.B. immer nur jedes Jahr neu beginnen
zu lassen, da bei einem Abfragebereich von z.B. 1.1.06 bis 28.2.06 nur zwei
Tabellen angefaßt werden müssten... und somit auch nur die darin vorhandenen
Datenmengen. Besonders vorteilhaft wäre das ggf. sogar, wenn der
Abfragebereich über die Jahresgrenze hinweg geschieht, also z.B: 25.12.05
bis 31.1.06, da auch hier nur zwei vergleichsweise kleine Tabellen
betrachtet werden würden. Was sagst Du dazu?


Grüße
Tim

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive