索引在SQL查询中的影响

时间:2010-10-12 08:59:29

标签: sql indexing db2

假设表上有两个索引

  1. col1上的index1,col2
  2. index3 on col3
  3. 请告诉我,以下案例索引是否有帮助?

    .. where col1,col4
    .. where col3,col4
    .. where col1,col3 
    .. where col1,col2,col3,col4
    

    *注意,

    1. 我只写了where子句而没有指定条件。仅提到使用过的列
    2. 我正在使用DB2。因此根据我的知识,列顺序无关紧要。
    3. col4没有任何索引。

2 个答案:

答案 0 :(得分:2)

  • where col1,col4 - 可以使用索引1中的前缀col1
  • where col3,col4 - 可以使用索引2.
  • where col1,col3 - 可以使用索引1中的index2或前缀col1
  • where col1,col2,col3,col4 - 可以使用索引

答案 1 :(得分:0)

where子句中提到的列,如果已建立索引,则将使用这些索引。例如: - 在你的“where col1,col4”中,col1被索引,因此它将被使用。同样适用于其他条件。对于两个索引都可用的列,可以使用它们。例如: - 在你的第3和第4条子句中。