大家好:表Person有字段 businessNo和taskId
现在已经对businessNo新建索引index_businessNo,也对taskId新建了索引taskId_index
如果根据businessNo和taskId查询Person表
select * from Personwhere businessNo=? and taskId=?
能否在index_businessNo和taskId_index已经存在的索引基础上,对businessNo和index_businessNo新建多列唯一索引index_businessNo_taskId
假如能够对businessNo和taskId新建多列唯一索引, 
那么查询select * FROM PersonWHERE businessNo=? 走的index_businessNo还是index_businessNo_taskId  ?
谢谢大家!

解决方案 »

  1.   

    看执行计划 
    oracle走什么索引不好说
      

  2.   

    index_businessNo和index_businessNo_taskId都有可能。
    看下执行计划就清除了,数据量不同,执行计划也可能不同!
      

  3.   

    索引不是越多越好,如果你百万数据中只需要极少部分数据,那么在这些过滤条件上加索引才是有意义的,Oracle把这个称为选择性。