Hallo,
habe ein kleines JOIN-Problem.
Es handelt sich hier um zwei Tabellen - wobei Tabelle 2 mit Daten aus
Tabelle 1 befüllt wird. Das ganze sieht folgendermaßen aus:
Table1: (ca. 10k Datensätze)
s_id | hip_nr | details | ....
Table2:
t_id | hip_nr | prefix | ....
Bisher sieht die Abfrage so (in etwa) aus:
PHP-Code:
SELECT t1.s_id, t1.hip_nr, t1.details ... FROM table1 as t1 INNER JOIN table2 as t2 on(t1.hip_nr != t2.hip_nr) WHERE prefix = 'A' ORDER BY rand() LIMIT 1;
Erklärung "prefix": Beim Schreiben in t2 wird ein Prefix gesetzt, sinn
dahinter ist, dass man t1 wieder von vorne in t2 eintragen kann, nur mit
einem anderen Prefix. (mehrere Cycles); Sollte bei einer Erklärung aber
unberücksichtigt bleiben, denn es macht die Sache unnötig kompliziert.
Sinn an der ganzen Sache ist, dass mir die Abfrage heraussucht:
- welche hip_nr aus t1 steht noch nicht in t2
Problem mit meiner Abfrage ist weniger, dass sie nicht die richtigen
Ergebnisse liefert (das tut sie), sondern mehr, dass sie über 4 Sekunden
dafür braucht, was einfach nicht tragbar ist.
Danke für Eure Mühe.
Gruß,
Peter