select count(*) 速度慢的原因主要有什么?
来源:互联网 发布:北大方正字体淘宝收费 编辑:程序博客网 时间:2024/04/20 21:42
情景:一个表里面数据有2400多行,执行select count(*)竟然需要8秒多;
把这个表的索引删除重建之后再执行select count(*)还是要花费8秒多。
重建了一个结构一模一样的表,把同样数据导入之后,对新表执行count(*)就只需要几十ms,
想来想去造成速度慢的原因可能是:这点数据分布在不同的块上,所以执行count(*)的时候速度极慢。
说法1:执行计划如果走的是full table scan,就有可能是高水位
关于oracle的高水位问题,首先要明白delete操作和truncate操作两者之间的不同,情景中说到表里数据不多但是执行很慢,有可能就是该表之前存在有大量数据,但是这些数据被delete处理掉了,但是delete操作是不会使水位线降低,背后可能是百万级数据量。同时情景中也说到,重新建立了一个表,把数据导入后count出来的时间很短,也可以说明重新建表后,表的水位线是最低的,2400条数据count起来就很快。
关于水位线的理解可以参考:http://www.ithao123.cn/content-106848.html
说法2:有主键么?如果没有主键执行计划将会是全表扫描
阅读全文
0 0
- select count(*) 速度慢的原因主要有什么?
- select count(*) 速度慢的原因主要有什么?
- NetBeans 速度慢的原因
- 查询速度慢的原因
- 查询速度慢的原因
- 网站速度慢的原因?!!!
- select count(*) 和 select count(1)有什么区别?
- 上网速度很慢的若干原因
- 电脑速度慢的原因及解决方法
- 计算机运行速度慢的原因
- 局域网速度变慢的原因分析
- java运行速度慢的原因
- 查询速度慢的原因查找
- 数据库查询速度慢的原因
- 分析查询速度慢的原因
- 外贸网站访问速度慢的原因
- SQL查询速度慢的原因很多
- java运行速度慢的原因
- E
- Android PendingIntent简略总结
- iOS 朋友圈点赞评论,发布朋友圈,想要的都有
- Leetcode--648. Replace Words
- lintcode -- 整数转罗马数字
- select count(*) 速度慢的原因主要有什么?
- H5基础知识第十二课时(事件)
- C#利用HttpWebRequest 测试网站是否可以正常访问
- 【Android 性能优化】—— 详解内存优化的来龙去脉
- 类和对象1
- C# async和await
- LINQ查询操作符
- Python 关键字 assert和range
- 用Darwin开发分布式流媒体服务器