社区
Oracle
帖子详情
如何优化查询
hanhan19830407
2008-11-16 12:11:21
有300万条记录SELECT COUNT(*) 如何提高查询效率,并提高一般查询速度
...全文
222
8
打赏
收藏
如何优化查询
有300万条记录SELECT COUNT(*) 如何提高查询效率,并提高一般查询速度
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
filec75
2008-11-26
打赏
举报
回复
友情up
47522341
2008-11-26
打赏
举报
回复
1, 对大表进行聚合操作是最不可优化的执行方式之一;原因很简单,oracle要不就要遍历一下table,要不就scan一下索引;
2,300万条记录不算多,如果一条记录不是很大的话,正常的查询应该是毫秒级别的;
3,如果你的记录较大,确实执行时间较长,并且该查询频率较高,可以考虑在insert,delete时触发当前记录行数到另外一个表中,就是说讲count分散计算好,然后查询的时候直接取计算好的数值就ok了^_^
wfqqwer5213
2008-11-17
打赏
举报
回复
300W不多,建个主键就是了!
BlueskyWide
2008-11-16
打赏
举报
回复
建立主关键字和索引。
[Quote=引用楼主 hanhan19830407 的帖子:]
有300万条记录SELECT COUNT(*) 如何提高查询效率,并提高一般查询速度
[/Quote]
kuaising
2008-11-16
打赏
举报
回复
全表扫描没什么办法。。
提高一般查询效率无非就是建立有效的索引来满足查询,
有机会看看 OReilly.Oracle.SQL Tuning Pocket Reference 这本书。
sulins
2008-11-16
打赏
举报
回复
没有特别好的方法。
换一个思路考虑,若不会对该表的历史数据进行删除的话,可以考虑按照记录的创建时间定期分段统计,比如按月。
需要使用的时候,只需要统计当月的记录数,再加上已计算好的历史值即可。
lexloo_x
2008-11-16
打赏
举报
回复
我想也只能是这样了。
icss_zhen
2008-11-16
打赏
举报
回复
给表建主键就行了,如果count时带有where条件,就根据where条件创建索引
SQL
查询
优化
本文围绕SQL
查询
优化
展开,介绍获取有性能问题SQL的三种方法,包括慢
查询
日志的配置、记录内容及分析工具。阐述SQL解析预处理和执行计划生成,分析
查询
慢的原因及
查询
缓存影响。还说明了确定
查询
各阶段耗时的方法,以及特定SQL如大表修改、not in和<>
查询
等的
优化
策略。
SQLite
查询
优化
本文围绕SQLite
查询
优化
展开,介绍了WHERE子句分析、BETWEEN
优化
、OR
优化
、LIKE
优化
等多种
优化
策略。还提及连接顺序控制、多索引选择、覆盖索引、子
查询
展平、自动
查询
时索引等内容,旨在帮助开发者选择最小化磁盘I/O和CPU开销的算法,提升
查询
性能。
MySql
优化
——子
查询
优化
、排序
优化
本文介绍MySQL中的子
查询
优化
和排序
优化
方法,包括如何避免使用子
查询
以提高
查询
效率,以及如何利用索引
优化
ORDER BY子句,减少使用FileSort算法。
关联
查询
优化
&子
查询
优化
&排序
优化
本文介绍SQL
查询
优化
的方法,包括关联
查询
、子
查询
、排序
优化
等方面的内容,并提供了具体的实践案例。
嵌套
查询
的
查询
优化
本文探讨了嵌套
查询
的分类及
优化
方法,总结了经典单机系统中嵌套
查询
的
优化
技术,介绍了Kim等人提出的嵌套
查询
非嵌套化算法及其改进。
Oracle
17,133
社区成员
55,258
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章