在大表上创建索引的位置?

时间:2016-07-01 06:23:37

标签: oracle performance query-optimization

我使用的是Oracle 11g。我有数十万条记录。

我的查询:

Select a1,a2,..... n 
from tbl 
where a1=val1 and a2=val2 and a3=val3 and a4=val4 and a5=val5

为了提高我必须创建索引的条件的查询性能?

1 个答案:

答案 0 :(得分:1)

当您在where所涉及的所有列上创建和索引时获得最佳性能,并且可能还在select中涉及的列上获取,因此索引..也用于每个retrive值..

在你的情况下在列..

 (a1, a2, a3, a4, a5) 

用于过滤器性能..并且可能在其他列上用于避免访问数据表以获取反向信息

您可以在此处获得一些提示https://docs.oracle.com/cd/B12037_01/appdev.101/b10795/adfns_in.htm

https://dev.mysql.com/doc/refman/5.5/en/optimization-indexes.html

请注意,调整与数据库产品相关..