Mailinglisten-Archive |
Hallo,
Ich habe nochmal ein problem. Nachdem 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(b) 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 mache ich noch ein paar Prüfungen mit php
und schreibe das dann in die dritte (b) 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 ?
--
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive