• 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/
     
     
     
  • 相关阅读:
    android openGl视频
    《jQuery权威指南》学习笔记之第2章 jQuery选择器
    RobHess的SIFT源码分析:综述
    building android/ubuntu-touch on 32bit machine
    Android开发(24)---安卓中实现多线程下载(带进度条和百分比)
    创建Sdcard
    POJ 1033 Defragment
    [C++STDlib基础]关于C标准输入输出的操作——C++标准库头文件<cstdio>
    机器学习实战决策树之眼镜男买眼镜
    protubuffer for windows配置指南!
  • 原文地址:https://www.cnblogs.com/zaisheng/p/6243640.html
Copyright © 2020-2023  润新知