Zwei Tabellen zusammenfügen

birdhouse

Neuer Benutzer
Beiträge
3
Hallo, dies ist mein erster Beitrag, und ich starte gleich mit einer Frage. Ich hoffe Ihr verzeiht mir das und könnt mir helfen.
Folgendes Problem:

Ich habe eine Datenbank mit zwei Tabellen. In der einen ist eine Artikelnummer und die dazugehörige Zeichnungsnummer hinterlegt. In der anderen Tabelle ist die Zeichnungsnummer mit allen weiteren Infos wie Erstelldatum usw. hinterlegt.

Nun muss ich die beiden Tabellen zusammenführen, um eine Verbindung zwischen den Artikelnummern und Zeichnungsnummern zu bekommen.
Per InnerJoin ja eigentlich kein Problem, doch nicht alle Zeichnungsnummern haben Artikelnummern.
Also gibt es für manche Datensätze aus der Zeichnungstabelle keinen passenden Eintrag in der Artikeltabelle.

Dann habe ich es per left join probiert:
SELECT z.*, a.Artikelnummer
FROM
zeichnungen z
LEFT JOIN
artikelnummern a ON (z.Zeichnungsnummer = a.Zeichnungsnummer_Art)
WHERE z.Zeichnungsnummer LIKE '%".$search."%' or a.Artikelnummer LIKE '%".$search."%'
LIMIT 0,10;

(Die Variablen sind von php gesetzt)
Das geht auch soweit, nur dauert hier eine Abfrage rund 280 Sekunden.

Habt ihr eine Idee wie ich das anders lösen kann, sodass das ganze ein wenig schneller wird.
Auch über andere Lösungsansetze bin ich sehr dankbar.

Vielen Dank schon mal & Gruß,
birdhouse
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.644
Eventuell wird es schneller wenn die Spalten Artikelnr und Zeichnungsnr nur numerisch sind, das dürfte aber nicht viel bringen. Die Abfrage bietet aus meiner Sicht kein Optimierungspotenzial.

Haben deine Tabellen einen Index auf Artikelnr und einen auf Zeichnungsnr? Oder gibt es noch gar keinen Index?
 

ukulele

Datenbank-Guru
Beiträge
4.644
Auf welche Spalten geht denn der Index? Man kann ja mehrere pro Tabelle anlegen, ich glaube auch in MySQL. Was anderes fällt mir nicht ein.
 

birdhouse

Neuer Benutzer
Beiträge
3
Der Index steht in der Tabelle Zeichnungen auf z.Zeichnungsnummer und in der Tabelle artikelnummern auf a.Artikelnummer und a.Zeichnungsnummer
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.644
Dann kann ich kein Problem erkennen, weder beim Index noch in der Syntax. Vieleicht ist dein Server lahm, vieleicht ist auch irgendwas anderes im argen, ich hab leider keine Idee.
 
Oben