给两个字段建立一个组合索引和分别建立单链索引有什么不同
来源:互联网 发布:装饰模式 java 编辑:程序博客网 时间:2024/04/28 11:04
例如你有一个 学生表。
字段包含 学号, 班级, 姓名,性别, 出生年月日。
你创建一个 组合索引 ( 班级, 姓名)
那么
SELECT * FROM 学生表 WHERE 班级='2010级3班' AND 姓名='张三' 将使用索引.
SELECT * FROM 学生表 WHERE 班级='2010级3班' 将使用索引 .
SELECT * FROM 学生表 WHERE 姓名='张三' 将不使用索引。
删除掉上面的索引
再创建两个 独立索引
索引1 ( 班级)
索引2 ( 姓名)
那么
SELECT * FROM 学生表 WHERE 班级='2010级3班' AND 姓名='张三' 将根据数据库的分析信息, 自动选择使用索引1或者索引2中的一个 (理论上会使用 索引2, 因为 姓名=张三的人少, 优先找到所有 姓名为 张三的人以后, 然后再从这些数据中, 找班级 = '2010级3班' 的
).
SELECT * FROM 学生表 WHERE 班级='2010级3班' 将使用索引1 .
SELECT * FROM 学生表 WHERE 姓名='张三' 将使用索引2。
总结: 组合索引是组合条件查询时有条件查询的顺序很重要
阅读全文
0 0
- 给两个字段建立一个组合索引和分别建立单链索引有什么不同
- 数据库中为什么药建立索引,建立索引有什么优点和缺点?
- LOB字段建立索引
- 联合索引和分别建立索引的比较
- 一个Web报表项目的性能分析和优化实践(四):MySQL建立索引,唯一索引和组合索引
- mysql建立组合索引原则
- 建立/修改字段(索引)
- Lucene(Lucence)建立索引(字段)
- 哪些字段适合建立索引?
- 哪些字段适合建立索引
- 建立索引
- 建立索引
- 建立索引
- 建立索引
- 索引建立
- 建立索引
- 建立索引
- 建立索引去掉索引
- stl-优先队列priority_queue
- Ping++支付遇到的坑
- 在Eclipse中安装Hibernate Tools
- 开源框架的层次
- Python 中selenium模块报错selenium.common.exceptions.WebDriverException: Message: 'chromedriver'
- 给两个字段建立一个组合索引和分别建立单链索引有什么不同
- HBase–RegionServer宕机恢复原理
- 国内外知名IT科技博客
- 程序员应该知道的事情
- nodemon组合forver实现监控
- Loadrunner做dubbo接口测试
- springmvc和struts2的区别
- [容易] BFS求最短路(迷宫类问题)
- 扩展方法