关于oracle的索引问题,请问一下这段话的意思是什么,为什么不能使用索引?
有时候我们会使用多个字段的组合索引。如果查询条件的第一个字段不能使用索引,那么整个查询也不能使用索引。例如:我们为company表建了一个id+name的组合索引,以下S...
有时候我们会使用多个字段的组合索引。如果查询条件的第一个字段不能使用索引,那么整个查询也不能使用索引。例如:我们为company表建了一个id+name的组合索引,以下SQL是不能使用索引的:
select * from company where name=? 展开
select * from company where name=? 展开
展开全部
SQL什么条件不会使用索引?
1、不等于操作不能使用索引
2、经过普通运算或函数运算后的索引字段不能使用索引,但是经过函数运算字段的字段要使用可以使用函数索引
3、使用多个字段的组合索引,如果查询条件中第一个字段不能使用索引,那整个查询也不能使用索引
4、含前导模糊查询的Like语法不能使用索引
5、B-TREE索引里不保存字段为NULL值记录,因此IS NULL不能使用索引。
6、Oracle在做数值比较时需要将两边的数据转换成同一种数据类型,如果两边数据类型不同时会对字段值隐式转换,相当于加了一层函数处理,所以不能使用索引。
7、给索引查询的值应是已知数据,不能是未知字段值。
展开全部
这个很好理解啊.索引的建立在多个字段的组合上,那么你查找的时候也要按照这些个字段进行查找才能使用索引.就比如书籍的目录,你只看标题的一半,那你只能全文浏览才能找到所需的内容.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把创建组合索引的顺序颠倒一下就可以使用了··· name+id
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
索引的使用遵循最左字段原则。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单独使用 name 是不能用索引的,得 id 和 name 联合用,再看看你的id 和name 是什么类型,类型貌似得匹配。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询