SQL 数据优化索引建suo避免全表扫描

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

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/

相关文章推荐

sql语句优化之一:尽量使用索引避免全表扫描

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使...

Mysql避免全表扫描sql查询优化 .

对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引:  .尝试下面的技巧以避免优化器错选了表扫描: ·   使用ANALYZE TABLE t...

Mysql避免全表扫描sql查询优化

对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引:  .尝试下面的技巧以避免优化器错选了表扫描: ·   使用ANALYZE TABLE t...
  • lkymeng
  • lkymeng
  • 2011年12月28日 15:13
  • 154

避免全表扫描的sql优化

对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及order by 涉及的列上建立索引:  .尝试下面的技巧以避免优化器错选了表扫描: · 使用ANALYZE TABLE tbl_na...
  • wo240
  • wo240
  • 2017年03月27日 14:37
  • 99

数据库优化<八>SQL优化之SELECT优化 ——避免全表扫描

在数据库操作中,一个全表扫描(full table scan)可能是整个应用的瓶颈,因此,我们尽量 要避免不必要的全表扫描。而如果你发现一条sql是全表扫描,一般的解决步骤是:         1...

Mysql怎么样避免全表扫描,sql查询优化

对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引:  尝试下面的技巧以避免优化器错选了表扫描:   使用ANALYZE TABLE tbl_...

oracle 索引 避免全表扫描

提高Oracle性能--如何走索引一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应...

【翻译自mos文章】使用索引快速全扫(index ffs) 来避免全表扫描

使用索引快速全扫(index ffs) 来避免全表扫描

@dbsnake-用合适的函数索引来避免看似无法避免的全表扫描

昨天听了@dbsnake的SQL方法论,感觉比第一次要更有感觉,希望对实际工作能有帮助。 昨天讲到一处利用reverse函数建立索引,避免全表扫描的case,颇有感触,拿出来试一下。 SQ...
  • bisal
  • bisal
  • 2013年09月24日 09:36
  • 1957

【性能优化案例】执行计划宁可走全表扫描,也不走索引

准备信息: 表:TABLE1,有一列为SEQ_ORD。 索引:在SEQ_ORD列上有一个NORMAL索引NONUNI_INDEX【nonunique】   问题: 测试语句: SELECT...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL 数据优化索引建suo避免全表扫描
举报原因:
原因补充:

(最多只允许输入30个字)