Langsame SQL-Abfrage, wenn zwei Tabellen verbinden, eine Möglichkeit, die Abfragegeschwindigkeit zu verbessern?Verlangsamen Sie die SQL-Abfrage, wenn Sie zwei Tabellen verbinden, um die Abfragegeschwindigkeit zu verbessern?
Ich habe eine kleine Tabelle A und große Tabelle B. A hat alle Spalten, die wir brauchen, außer TYPE-Spalte, und der TYPE-Wert kann nur in B gefunden werden. Aber B haben zu viele nutzlose Zeilen.
Jetzt möchte ich alle Zeilen von A auswählen, und sie sollten alle Spalten plus TYPE haben. Meine Idee ist die Verwendung linker Verknüpfungen, da sie alle Zeilen von B auswählen kann, die in A existieren, so dass wir den TYPE-Wert erhalten können.
Oracle:
SELECT B.HOUR, B.LOCATION, B.PRICE, B.TYPE, B.DATE
FROM A LEFT JOIN B
ON A.HOUR=B.HOUR AND A.LOCATION=B.LOCATION AND A.PRICE=B.PRICE AND A.DATE=B.DATE
Es ist sehr langsam. Außerdem habe ich nur Leseberechtigung, so dass ich keine neue Tabelle erstellen kann. Gibt es eine Methode, um es zu verbessern? Vielen Dank.
Tabellen- und Indexdefinitionen bitte wert sein. – jarlh
Stellen Sie sicher, dass alle Spalten in Ihrer ON-Klausel indiziert sind. – SEarle1986
Ohne irgendwelche Privilegien, aber lesen Sie, Sie können nicht viel tun. – jarlh