SQL Server SQL优化基础 使用索引的简单示例
|
感兴趣的小伙伴,下面一起跟随脚本之家 jb51.cc的小编两巴掌来看看吧! 按照本文操作和体会,会对sql优化有个基本最简单的了解,其他深入还需要更多资料和实践的学习:1. 建表: 代码如下:
2. 插入8万条数据 代码如下:
3. 设置打开一些参数的设置 代码如下:
4. 查看表索引情况: sp_helpindex site_user 【图片暂缺】 5. 执行sql语句 代码如下:
ctrl+L 快捷键查看执行计划: 【图片暂缺】 6. 优化第一步:聚集索引扫描开销占了100%,可以考虑优化为索引查找,在查询条件name上建立非聚集索引 代码如下:
【图片暂缺】 此时再运行上面的查询语句: 代码如下:
磁盘逻辑读取次数明显下降,然后查看执行计划:
【图片暂缺】 新建的索引已经起到了作用,但是还是去扫描了主键的聚集索引,如果能在一个索引上完成查询性能会更高,因为这个查询 所以考虑进一步优化: 7. 优化第二步: 建立组合索引 代码如下:
-- 磁盘逻辑读取次数又下降了 然后查看执行计划:
【图片暂缺】 这样直接走索引查找就快很多了,使用了index4 8. 优化第三步:我们还可以考虑使用覆盖索引,将使用到的条件都写在索引括号内,其他查询出来的字段放入include中, 代码如下:
-- 磁盘逻辑读取次数没有明显变化然后查看执行计划:
【图片暂缺】 同样走索引查找使用了index5 代码如下:
【图片暂缺】 可以看到,同样的数据量,average key length:覆盖索引index5,占用的空间相对少些,所以我们应该优先选择覆盖索引来进行优化 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SQL Server 过程需要参数 #039;@statement#039; 为 #039;nt
- 在SQL SERVER中导致索引查找变成索引扫描的问题分析
- 在SQL Server中使用全文搜索的奇怪行为
- 删除mysql数据库中的重复数据记录
- sql-server – 在数百台机器上有没有很酷的方法为SQL Serve
- linq-to-sql – Linq to SQL和大型DB模型
- sql-server – 查找与给定主键关联的外键
- SQL Native Client 10性能不佳(由于服务器端游标)
- SQL Server 生成日期列表代码
- 如何在没有matlabs数据库工具箱的情况下从matlab访问postgr
