zoukankan      html  css  js  c++  java
  • SQL 数据优化索引建suo避免全表扫描

      首先什么是全表扫描和索引扫描?全表扫描所有数据过一遍才能显示数据结果,索引扫描就是索引,只需要扫描一部分数据就可以得到结果。如果数据没建立索引。 无索引的情况下搜索数据的速度和占用内存就会比用索引的检索慢和高。下面是一个例子

    1:无索引的情况

      Product表,里面没有任何索引,如下图:

    从上图中,我悲剧的看到了,物理读是9次,也就说明走了9次硬盘,你也可以想到,走硬盘的目的是为了拿数据,逻辑读有1636次,要注意的是这里

    的”次“是“页”的意思,也就是在内存中走了1636个数据页,我用dbcc ind 给你看一下,是不是有1636个表数据页。

    这里有1637个数据页的原因是第一个是IAM跟踪页。

    2:有聚集索引的情况

         下面我在Product表中建一个product_idx_productid的聚集索引,然后再次看看io情况,如下图:

    当你看到这个”逻辑读“为3次的时候,你是不是已经疯了。。。在多达1636个数据页中找到目标数据,只需3次。。。

    以上参考   http://www.cnblogs.com/huangxincheng/category/555253.html

    那么如何避免全表扫描 来提高SQL检索的性能?下面就有几种方法总结

    以下参考 http://lzz7658823.iteye.com/
     
     
     
  • 相关阅读:
    直击JDD | 京东技术全景图首次展示 四大重磅智能技术驱动产业未来!
    干货|上云了,如何保障云数据库的高可用?
    直击JDD | 共建智能新城 京东云让城市生活变得简单美好
    2019京东全球科技探索者大会议程抢先曝光!
    京东云入选2019年度TOP100全球软件案例 新一代服务治理框架加速行业落地
    剁手季我做过最牛的事情
    干货|混沌工程落地的六个阶段
    Jenkins 插件中心国内镜像源发布
    list
    queue
  • 原文地址:https://www.cnblogs.com/zaisheng/p/6243640.html
Copyright © 2011-2022 走看看