sql2012,返回数据多时不走索引
2023-09-11 14:19:23 时间
当数据达到一定值时,都会走表扫描
旧版如SQL2005时就有计算选择性的比例为 满足条件的行数/总行数<=0.7181,会走索引,其它会走表扫描
有兴趣可以自己去不同版本中去测试
这个不是按照行数来算比例的,是按照成本来的。一行长度10字节,和一行长度1000字节,这个行数比例就不一样。
一般来说,行数比例达到0.01,肯定就是表扫描了(如果索引不能覆盖的话)
想不想时已是想,不如不想都不想。
Sorry记错了,十年前曾简单测过一下,0.7181%测试的结果值,这个选择点低于 1%,不同的SQL版本和表的结构不同可能会有所不同 对依赖于查询选择性的执行计划,查询的效率取决于选择性,会为每一行执行lookup.在一些选择点上优化器会认为表扫描更高效
相关文章
- 阿里云elasticsearch index索引库同步到华为云搜索服务CSS(elasticsearch)demo
- SQL Server 2008 转换为 SQL 2005 数据库 脚本生成方式(解决主键、索引、标识等数据库约束丢失)
- ElasticSearch删除索引中的数据(delete_by_query)
- 第五十二章 索引关键字 - Internal
- 《R语言数据挖掘:实用项目解析》——第1章,第1.5节索引或切分数据框
- Knockout获取数组元素索引的2种方法,在MVC中实现
- MySQL数据库介绍——包含索引、视图、事务、引擎
- 大数据学习——mapreduce倒排索引
- 数据的分级索引模式
- SQL索引一步到位(此文章为“数据库性能优化二:数据库表优化”附属文章之一)
- 没有索引也能够高速查询
- (4.6)数据页深入探索--内部探索聚集索引
- 通过Django Models建立各种方式的索引,以及MySql什么样的查询在不同的数据量情况下会不会走索引
- [Pandas] 设置DataFrame的index索引起始值为1