社区
应用实例
帖子详情
为什么我建立了索引之后速度没有明显提升呢?
zq200487731
2013-05-04 11:26:56
表里面大概有3千多万的数据,在BUY_DATE_time上建立了聚集索引,但是我发现查询速度和没见索引的时候差不多,
大家看,两个的系统开销差不多
...全文
622
16
打赏
收藏
为什么我建立了索引之后速度没有明显提升呢?
表里面大概有3千多万的数据,在BUY_DATE_time上建立了聚集索引,但是我发现查询速度和没见索引的时候差不多, 大家看,两个的系统开销差不多
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Andy-W
2013-05-10
打赏
举报
回复
优化器提示的,缺少索引.....,根据提示再创建个索引看看性能如何。
最爱午夜
2013-05-10
打赏
举报
回复
1、你第一查询的时候是在有索引的情况下,但是第二次查询前,你没有清空缓存,也就是说,数据库有数据缓存在,这个时候,只要T-SQL语句花在cpu上面的时间不多的话,根本看不出两者的性能差别。 2、一次提取的数据太多,怎么比较,况且一个查询数据大于表的10%,扫描比查找性能更好,你这个是有问题的做法,起码试验的操作步骤就有问题。
lg314
2013-05-10
打赏
举报
回复
3000w数据中找出300w的数据建立索引也不会快很多。从index里面找出300w数据,然后要根据这个300w数据到聚集索引里面循环查找,3000w数据的B树查找成本大概是21,如果使用索引的话21*300w=6300w的成本。当然这个计算不是精确的,但也是差不多是这种思路。sql server里面估算出来使用索引比直接扫描慢的话就不会使用索引了。但如果建立的是聚集索引的话就不一样了,聚集索引就少了键值查找的成本。
skyclin
2013-05-09
打赏
举报
回复
一次提取三百万的数据,光是显示及传到客户端显示都花时间。
雪狐
2013-05-08
打赏
举报
回复
没建索引用的是 index seek, 建立索引后用的是 index scan,,理论上没建之前更快。。。 但你返回的结果集太多,300W行,,这个无论如何都不会太快。。。
魔者侠心之明星级程序员
2013-05-04
打赏
举报
回复
你给的好像是评估的计划,看不清楚具体原因,你最好有SET STATISTICS profile ON 来看一下结果 SET STATISTICS profile ON GO T-SQL 然后把结果集完整的贴出来分析。
daiyueqiang2045
2013-05-04
打赏
举报
回复
你后面的语句使用的seek方式这个理论是更快的
daiyueqiang2045
2013-05-04
打赏
举报
回复
你重建索引了吗? 显示指定的表或视图的数据和索引的碎片信息 查看一下你的索引碎片:http://www.cnblogs.com/worfdream/articles/2840582.html 更新统计 再看一下
zq200487731
2013-05-04
打赏
举报
回复
来人帮忙看下啊
专注or全面
2013-05-04
打赏
举报
回复
查询条件查询出来的将近300W了,占整个表的十分之一 走索引查找的话,也不见得一定能提高效率
专注or全面
2013-05-04
打赏
举报
回复
create index indexname on table(buy_date) include(user_id) 建立include 索引试试
zq200487731
2013-05-04
打赏
举报
回复
引用 6 楼 duanzhi1984 的回复:
你的字段的类型是什么,字符还是DATATIME
是datetime的
seusoftware
2013-05-04
打赏
举报
回复
并不是有索引就一定会快,要看索引有没有合理使用。 执行计划是聚集索引扫描,而不是查找,如果你要查的数据基本都集中在2013-01-01 and 2013-02-01,那么sql server可能就会选择去扫描了,所以就会慢。
SQL77
2013-05-04
打赏
举报
回复
3KW的数据.看你两个结果虽然行数不一样.但大致是300W数据.十分之一的数据 建立聚集索引肯定要快很多的.
duanzhi1984
2013-05-04
打赏
举报
回复
你的字段的类型是什么,字符还是DATATIME
魔者侠心之明星级程序员
2013-05-04
打赏
举报
回复
另外你执行获得评估计划的时候,并没有真正的去执行,你是怎么发现性能差不多的? 莫非你是根据评估计划的生成时间?
数据库
建立
索引
为什么会加快查询
速度
数据库
建立
索引
为什么会加快查询
速度
首先明白为什么
索引
会增加
速度
,DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加
索引
,查询时就...
为什么
索引
会加快查询
速度
?
索引
原理和使用原则
但是有了
索引
之后
,只需要在
索引
里面去检索这条数据就行了,因为它是一种特殊 的专门用来快速检索的数据结构,我们找到数据存放的磁盘地址以后,就可以拿到数据 了。就像我们从一本 500 页的书里面去找特定
通过
建立
索引
优化MySQL查询
速度
因此,
提升
数据库查询
速度
迫在眉睫,下面我们来看下如何通过
建立
索引
提升
MySQL的查询
速度
。一,什么是
索引
索引
是用来快速地寻找那些具有特定值的记录,所有MySQL
索引
都以B-树的形式保存。如果
没有
索引
,执行查询时...
数据库添加
索引
为什么能加快查询
速度
数据库
建立
索引
为什么会加快查询
速度
首先明白为什么
索引
会增加
速度
,DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加
索引
,查询时...
postgresql 数据库
索引
介绍
为什么要建
索引
呢?带着这些疑问,本文带你一起学习postgresql数据库的
索引
。 一 什么是
索引
?
索引
是提高数据库性能的常用途径。比起
没有
索引
,使用
索引
可以让数据库服务器更快找到并获取特定行。但是
索引
同时也会...
应用实例
27,582
社区成员
68,544
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章