Hier ist meine Frage:Wie verbessert man die Auswahl Abfrage Leistung in oracle.but Where-Klausel mit NVL-Funktion?
select col1, col2, col3
from table_name
where nvl(cola, 1)=nvl(cola,1)
Es gibt einen regelmäßigen Index auf cola
. Wie kann ich die Leistung verbessern, ohne den Index zu ändern?
Es gibt keine Möglichkeit, einen regulären Index für nur 'Cola' zu verwenden. Sie benötigen einen funktionsbasierten Index: 'create index on Tabellenname (nvl (cola, 1))' –
Die gepostete Abfrage wird auf 'where 1 = 1' reduziert, was immer wahr ist, was zu einem vollständigen Tabellenscan führt. Während wir unser Problem bei der Veröffentlichung auf SO vereinfachen müssen, sollten wir nicht zu vereinfachen. – APC
thanks.but bereits Cola mit normalem Index muss nicht extra Index hinzufügen. Gibt es einen Hinweis auf Leistung in nvl()? – swamy