复合索引使用的原则是什么?

fattycat 2006-08-13 04:10:51

我对使用索引的经验较少,想请问大家,使用复合索引的原则是什么?

如:

1、复合索引使用的目的是什么?

2、一个复合索引是否可以代替多个单一索引?

3、在进行哪些类型的查询时,使用复合索引会比较有效?

4、符合索引中索引列的排序原则是什么?

5、什么情况下不适合使用复合索引?


请大家指点! 谢谢啦

^o^
...全文
1443 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fattycat 2006-08-14
  • 打赏
  • 举报
回复

多谢大家的指点~ ^o^
Carol_zyr 2006-08-14
  • 打赏
  • 举报
回复
学习;)
abc_sk 2006-08-13
  • 打赏
  • 举报
回复
联机帮助,
mschen 2006-08-13
  • 打赏
  • 举报
回复
根据你的where条件选择符合索引.如果查询是根据多个列,如where Name='aa' and class='bb',那么在Name和Class上建立符合索引会比较好.

create index idx_test on 表(Name,Class)

但是符合索引的顺序一定要和查询的顺序相同才有效,如果顺序不同,那就没有效果了.

是否建立符合索引要根据查询的需要,如果很多查询都是where Name='aa' and class='bb'这样的形式,那建立符合索引就非常好.如果有一部分查询是where class='cc' 那么你就应该在class上边建立单索引.所以最重要的是根据查询的条件.
liudianhalf 2006-08-13
  • 打赏
  • 举报
回复
1、复合索引使用的目的是什么?
:能形成索引覆盖,提高where语句的查询效率

2、一个复合索引是否可以代替多个单一索引?
:复合索引的使用原则是第一个条件应该是复合索引的第一列,依次类推,否则复合索引不会被使用
所以,正常情况下复合索引不能替代多个单一索引

3、在进行哪些类型的查询时,使用复合索引会比较有效?
:如果一个表中的数据在查询时有多个字段总是同时出现则这些字段就可以作为复合索引,形成索引覆盖可以提高查询的效率

4、符合索引中索引列的排序原则是什么?
:复合索引的使用原则是第一个条件应该是复合索引的第一列,依次类推

5、什么情况下不适合使用复合索引?
:建立索引的目的就是帮助查询,如果查寻用不到则索引就没有必要建立,另外如果数据表过大(5w以上)则有些字段(字符型长度超过(40))不适合作为索引,另外如果表是经常需要更新的也不适合做索引

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧