关于oracle的索引问题,请问一下这段话的意思是什么,为什么不能使用索引?

有时候我们会使用多个字段的组合索引。如果查询条件的第一个字段不能使用索引,那么整个查询也不能使用索引。例如:我们为company表建了一个id+name的组合索引,以下S... 有时候我们会使用多个字段的组合索引。如果查询条件的第一个字段不能使用索引,那么整个查询也不能使用索引。例如:我们为company表建了一个id+name的组合索引,以下SQL是不能使用索引的:
select * from company where name=?
展开
 我来答
lm_251107033
2012-09-27 · 超过10用户采纳过TA的回答
知道答主
回答量:26
采纳率:100%
帮助的人:9.4万
展开全部

SQL什么条件不会使用索引?

1、不等于操作不能使用索引

2、经过普通运算或函数运算后的索引字段不能使用索引,但是经过函数运算字段的字段要使用可以使用函数索引

  • 3、使用多个字段的组合索引,如果查询条件中第一个字段不能使用索引,那整个查询也不能使用索引

4、含前导模糊查询的Like语法不能使用索引

5、B-TREE索引里不保存字段为NULL值记录,因此IS NULL不能使用索引。

6、Oracle在做数值比较时需要将两边的数据转换成同一种数据类型,如果两边数据类型不同时会对字段值隐式转换,相当于加了一层函数处理,所以不能使用索引。

7、给索引查询的值应是已知数据,不能是未知字段值。
seeme1025
2012-09-27 · 超过29用户采纳过TA的回答
知道答主
回答量:154
采纳率:0%
帮助的人:97.8万
展开全部
这个很好理解啊.索引的建立在多个字段的组合上,那么你查找的时候也要按照这些个字段进行查找才能使用索引.就比如书籍的目录,你只看标题的一半,那你只能全文浏览才能找到所需的内容.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a8d963c
2012-09-27
知道答主
回答量:11
采纳率:0%
帮助的人:4.6万
展开全部
把创建组合索引的顺序颠倒一下就可以使用了··· name+id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
舒舒服服9z
2012-09-27 · TA获得超过522个赞
知道小有建树答主
回答量:524
采纳率:0%
帮助的人:368万
展开全部
索引的使用遵循最左字段原则。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xucongfree
2012-09-27
知道答主
回答量:21
采纳率:0%
帮助的人:5.8万
展开全部
单独使用 name 是不能用索引的,得 id 和 name 联合用,再看看你的id 和name 是什么类型,类型貌似得匹配。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式