Hallo,
ich versuche mich gerade an der Abfrage einer Oracle Datenbank. Grundkenntnisse in SQL habe ich aber wie und wann eine Abfrage performant ist, kann ich nicht richtig beantworten.
In meiner Abfrage werden mir zwar alle Datensätze angezeigt (11), jedoch bin ich mit der Abfragezeit etwas unzufrieden.
tabelle1 hat 11.417.052 Datensätze und tabelle2 6.388.082.
Die Abfragezeit beträgt 12,3 Sekunden. Nun weiß ich überhaupt nicht, ob das für diese Menge an Datensätzen in Ordnung ist oder ob es Verbesserungsbedarf gibt. Habt ihr evtl. Tipps, wie ich meine Abfrage besser gestalten kann?
Gruß
ich versuche mich gerade an der Abfrage einer Oracle Datenbank. Grundkenntnisse in SQL habe ich aber wie und wann eine Abfrage performant ist, kann ich nicht richtig beantworten.
In meiner Abfrage werden mir zwar alle Datensätze angezeigt (11), jedoch bin ich mit der Abfragezeit etwas unzufrieden.
Code:
select a.feld1, a.feld2, SUBSTR(a. feld3,10,4) As feld3_kurz, a.feld4/1000 As feld4_kurz, a.feld5/1000 as feld5_kurz, a.feld6/100 As feld6_kurz, a.feld7/100 As feld7_kurz, b.feld8/100 As feld8_kurz, a.datum, a.zeit from tabelle1 a Left Join tabelle2 b ON a.feld3 = b.feld3 where a.datum = '20160929' AND a.zeit > '0600' AND a.zeit < '2200' AND a.personalnummer = '10'
tabelle1 hat 11.417.052 Datensätze und tabelle2 6.388.082.
Die Abfragezeit beträgt 12,3 Sekunden. Nun weiß ich überhaupt nicht, ob das für diese Menge an Datensätzen in Ordnung ist oder ob es Verbesserungsbedarf gibt. Habt ihr evtl. Tipps, wie ich meine Abfrage besser gestalten kann?
Gruß