Ich bin neu in SQL und ich bin auf der Suche nach einer schnelleren Möglichkeit, eine recht einfache Anweisung auszuführen. Es gibt mehrere Werte in einer Tabelle, die übereinstimmen sollten, um die Zeilen zurückzugeben. Gibt es einen schnelleren Weg? Die Tabelle ist eine Ansicht, in der ich keine Administratorrechte habe, um Änderungen vorzunehmen.SQL, schneller Weg als wo und?
select * from TABLE.View_xy
where location=1
and b=2
and c=3
and d=4
and e=5
and f=6
and manDate between (TIMESTAMP '2016-06-01 00:00:00') and (TIMESTAMP '2016-06-02 23:59:59')
and g=7
Das ist der schnellste Weg, erstellen Sie einfach einen Index für die = Prädikate, und beenden Sie ihn mit dem zwischen Eins. – Gar
@Gar obwohl sie wahrscheinlich keine Berechtigungen haben und es ist eine Ansicht, keine Tabelle. –
Put Indizes auf die entsprechenden zugrunde liegenden Felder würde helfen, es sei denn, einige dieser Felder sind derivative/berechnete Werte. –