Which index is used ? ORACLE DB SQL -


select * sometable  column1='somevalue' , column2='someothervalue' 

for above query if both column1 , column2 have index tables ix1 , ix2, index used above example? assume 'somevalue' , 'someothervalue' existing values in table , column1 , column2 have non unique values.

also how differ if , replaced or?

the index used 1 oracle optimizer believes best query. "best" in case means selective -- is, single condition matches fewest rows (estimated based on statistics on table).

for query, best index either sometable(column1, column2) or somtable(column2, column1). equality conditions, either matches where clause.

with or situation tricker. think oracle can use both indexes query (check explain plan), more union/union all:

select * sometable column1 = 'somevalue' or selet * sometable column2 = 'someothervalue' , column1 > 'somevalue'; 

Comments

Popular posts from this blog

authentication - Mongodb revoke acccess to connect test database -

r - Update two sets of radiobuttons reactively - shiny -

ios - Realm over CoreData should I use NSFetchedResultController or a Dictionary? -