Hallo Leute,
ich hab eine SQL-Frage. Bin da ein ziemlicher Neuling und tu mich mit den JOINs etwas schwer.
Meine Mysql-db hat in Tabelle A 700.000 records und in Tabelle B 600.000 records.
Tabelle A
number,serial,name,description,date
Tabelle B
number,serial,value,date
Nun möchte ich 2 Querys erstellen.
- Ich möchte alle Einträge von Tabelle B haben, bei denen number und serial auch in Tabelle A existieren.
Mein Versuch:
SELECT *
FROM TabelleB
INNER JOIN TabelleA
ON TablleA.serial=TabelleB.serial AND TabelleA.number=TabelleB.number
WHERE TabelleB.serial LIKE '%812%'
AND DATE( TabelleB.date ) = '2009-11-19'
Der Query läuft auch und läuft und läuft und läuft. Der MYSQL Deamon schnappt sich die komplette CPU und die Abfrage spuckt auch
nach 5 Min noch nichts aus. Stimmt die Abfrage so? Ist es "nur" ein Performanceproblem?
Denn die Abfrage...
SELECT *
FROM TabelleB
WHERE serial LIKE '%812%'
AND DATE( date ) = '2009-11-19
... spuckt mir in unter 1 Sekunde die knapp 5000 records aus.
- Ich möchte alle Einträge von Tabelle B haben, bei denen number und serial in Tabelle A NICHT existieren.
Noch kein Versuch.
Danke für eure Hilfe.
ciao,
Johann