phpbar.de logo

Mailinglisten-Archive

[dbs] Abfrage beschleunigen

[dbs] Abfrage beschleunigen

News news at miefert.de
Sam Jul 24 17:13:19 CEST 2004


Hallo,

Ich habe nochmal ein problem. Nachdme jetzt die Ausgabe dank  setzten
des index recht fix geht wird nun aber die prüfung sehr langsam

Stand ist: 

Es geht um 3 tabellen
A: ca. 500.000 Einträgen
B: ca. 500.000 Einträge
C: ca. 20 Einträge

1. Ich frage eine tabelle mit ca. 20 Einträgen(C) aus und speicher
diesen in eine Variabel

$sql = "SELECT * FROM ".SEARCHLOG_ADDWORD."  ";//Zusatz Keywords
auslesen

2. jetzt frage ich aus einer der großen tabellen(A) zufällig 10 Einträge
ab

$sql = "SELECT * FROM ".SEARCHLOG."  ORDER BY RAND(".mt_rand(0,10000).")
LIMIT 0,10 ";

3. Jetzt kombiniere ich die ersten 20 bit diesen Einträgen und
kombiniere diese dann jeweils nochmal mit 3 optionen. Somit erhalte ich
300 Werte

4. Diese 300 Werte frage ich nun aus der dritten tabelle ab um
festzustellen ob sie vorhanden sind

$sql4 = "SELECT * FROM ".DOM." WHERE url='".$domainarray[$i]."'  ";

Domainarray sind ist das array mit dne 300 Werten
Wenn jetzt nix gefunden wird mach eich noch ein paar Prüfungen mit php
und schreibe das dann in die dritte tablle rein

INSERT INTO ".DOM."
(url,tld,source,status,status_who,status_checked,last_change,last_update
) VALUES
('".$domainarray[$i]."','$tld','keyword','1','$status_who','1','$now','$
now')";



Und diese Abfrage dauert locker 3-4 Stunden im Cron oder per HTTP:(

Warum?!?!?!?!?

Was kann ich besser machen ? 



php::bar PHP Wiki   -   Listenarchive