数据量对性能的影响

tlanso 2012-03-28 11:25:48
我最近维护的一个数据库的主要数据表含有1亿1千万条数据左右,19个字段,前几天尝试在所运行的服务器上做了一个非索引列的最大值查询用去了1小时4分,查询效率非常低。后来我把表按年份折分成了7个表,其中最大的一个大约含有2千7百万条数据,我对这个表又做了同样一个非索引列的最大值查询结果只用去了30几秒的时间,第二次再查询就连1秒都用不到了。我想知道的是为什么同样结构的表在查询的时候数据量缩减到原来的1/4,查询效率能有如此之大的提升?在mssqlserver中数据量和查询效率是个什么样的关系?
...全文
180 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
you_tube 2012-03-28
  • 打赏
  • 举报
回复
表中的数据量会影响执行计划,执行计划重用,缓存,,都有很大关联
you_tube 2012-03-28
  • 打赏
  • 举报
回复
第二次查询会使用第一次的执行计划
rfq 2012-03-28
  • 打赏
  • 举报
回复
最好看一下执行计划来确定,我老觉得 已经创建索引了,如果没有索引根本不可能那么快.

看看缓存
select * from sys.dm_exec_cached_plans
usercount 使用次数


tlanso 2012-03-28
  • 打赏
  • 举报
回复
我想知道的是同样结构的表,在同样的机器上,做同样的查询,数据量为1.1亿和2700万时,数据量为4:1,但查询所用时间却相差100倍以上,为什么会有这么大的差别,查询内部的机理是什么?
simonxt 2012-03-28
  • 打赏
  • 举报
回复
貌似SQLServer有这样的机制,第一次查询完毕后会对查询进行优化处理,第二次第三次查询就在第一次优化的基础上进行

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧