社区
基础和管理
帖子详情
200W数据的单个表 查询速度很慢。
huowang
2009-09-11 05:06:30
问题描述:我有一张200W条记录的表,查询数据很慢。然后我删除了大部分数据,就保留几十条数据。 可查询数据还是很慢, 为什么会这样? 几十条数据,一个 select count(*) from tablename 都要1秒多的时间。。
新接触oracle ,望好心人指点。。
...全文
714
19
打赏
收藏
200W数据的单个表 查询速度很慢。
问题描述:我有一张200W条记录的表,查询数据很慢。然后我删除了大部分数据,就保留几十条数据。 可查询数据还是很慢, 为什么会这样? 几十条数据,一个 select count(*) from tablename 都要1秒多的时间。。 新接触oracle ,望好心人指点。。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zzzzzyyy
2009-09-15
打赏
举报
回复
[Quote=引用 13 楼 francered 的回复:]
高水位线问题,可参考文章:http://www.diybl.com/course/7_databases/oracle/2007114/84243.html
[/Quote]
这个不错!建议楼主看看!
13abyKnight
2009-09-15
打赏
举报
回复
创建索引了吗、
不要使用select *from 这样执行的速度是最慢最底下的的这样数据全扫描啊!
如果一个表中20个字段你创建15个索引 不必考虑查询的速度一定特慢。。。
你使用的是oracle数据库吗? 几十条数据需要那么长时间?
是不是,你的电脑CPU爆满啦!
超叔csdn
2009-09-15
打赏
举报
回复
由于delete数据一般都不会释放空间,你可以查查该表占的空间还是很大,就算只有10条数据速度很慢都算正常的。这种情况下被删除的表数据还可以通过flahback找回来。
如果是truncate这种ddl操作,空间就释放了。
傻儿哥
2009-09-15
打赏
举报
回复
细看LZ的问题,
把表move 一下,再rebuild index 即可解决问题哈.
傻儿哥
2009-09-15
打赏
举报
回复
set autotrace on explain
select .. from ..;
查看执行计划,优化之.
如果安装有 em,直接使用 sql tuning advisor+sql access advisor 优化之
francered
2009-09-14
打赏
举报
回复
高水位线问题,可参考文章:
http://www.diybl.com/course/7_databases/oracle/2007114/84243.html
tiancx82
2009-09-13
打赏
举报
回复
高水位线的问题,搜索一下就知道了
inthirties
2009-09-13
打赏
举报
回复
[Quote=引用 7 楼 inthirties 的回复:]
引用 6 楼 huowang 的回复:
引用 3 楼 inthirties 的回复:
保留10几条还慢的话,把表的hwm降下来才行。
可以重建表,
为什么会出现数据量很小,可查询速度会很慢的情况, 难道删除过的数据还会对查询有影响吗?
了解一下hwm方面的知识, 如果单条还慢,应该是没有index的问题了。
[/Quote]
1. 为什么你这里只有10几条数据,却查询count很慢
了解一下hwm方面的知识
2. 为什么选单个的也慢
如果单条还慢,应该是没有index的问题了。根据你的查询条件,加上相应的index
huowang
2009-09-12
打赏
举报
回复
50个字段,没建索引
yubin88
2009-09-12
打赏
举报
回复
楼主你删掉索引看看
johnnyhuawei
2009-09-11
打赏
举报
回复
这种情况很奇怪啊,多少个字段?难道全建索引了?
inthirties
2009-09-11
打赏
举报
回复
[Quote=引用 6 楼 huowang 的回复:]
引用 3 楼 inthirties 的回复:
保留10几条还慢的话,把表的hwm降下来才行。
可以重建表,
为什么会出现数据量很小,可查询速度会很慢的情况, 难道删除过的数据还会对查询有影响吗?
[/Quote]
了解一下hwm方面的知识, 如果单条还慢,应该是没有index的问题了。
huowang
2009-09-11
打赏
举报
回复
[Quote=引用 3 楼 inthirties 的回复:]
保留10几条还慢的话,把表的hwm降下来才行。
可以重建表,
[/Quote]
为什么会出现数据量很小,可查询速度会很慢的情况, 难道删除过的数据还会对查询有影响吗?
huowang
2009-09-11
打赏
举报
回复
实际上,单条查询也是慢。
我目前方法很死,就是先把这几十条数据保存到临时表中,再truncate 这个表,再临时表数据插回来。
这样做的可以解决查询速度问题。
可我就是想知道,为什么会这样的,有没有更好的解决方法
inthirties
2009-09-11
打赏
举报
回复
select count(1) from table_a 慢,不代表选择单条记录都慢
inthirties
2009-09-11
打赏
举报
回复
保留10几条还慢的话,把表的hwm降下来才行。
可以重建表,
huowang
2009-09-11
打赏
举报
回复
问题不在这里,我把数据都删掉了,就剩下几十条了,可查询还是慢啊
Dave
2009-09-11
打赏
举报
回复
这么大的表,有建索引没有,如果走全表扫描的话,肯定会很慢..
我们公司700W 都很快.. 当然服务器性能也不错..
Mysql 我随手造
200W
条
数据
,给你们讲讲分页优化。
数量量太大,怎么分页优化?
mysql 20w条
数据
4
表
连接好慢_Mysql
数据
库某个
表
连接
查询
很慢
,如何优化?
两个
表
连接
查询
很慢
,但是如果单查一个
表
则很快,或者连接
查询
其他的
表
也很快。
查询
语句(大约半秒的
查询
时间):SELECT * FROM member m LEFT JOIN gift g ON g.mid = m.id WHERE m.status = 0 AND m.wid = 236 ORDER BY m.id DESC LIMIT 0,20member
表
结构(约40000条
数据
):CREATE...
mysql 20w条
数据
4
表
连接好慢,Mysql
数据
库某个
表
连接
查询
很慢
,如何优化?
两个
表
连接
查询
很慢
,但是如果单查一个
表
则很快,或者连接
查询
其他的
表
也很快。
查询
语句(大约半秒的
查询
时间):SELECT * FROM member m LEFT JOIN gift g ON g.mid = m.id WHERE m.status = 0 AND m.wid = 236 ORDER BY m.id DESC LIMIT 0,20member
表
结构(约40000条
数据
):CREATE...
ef联
表
查询
速度
_EF
查询
百万级
数据
的性能测试--多
表
连接复杂
查询
一、起因上次做的是EF百万级
数据
的单
表
查询
,总结了一下,在
200w
以下的
数据
量的情况(Sql Server 2012),EF是可以使用,但是由于
查询
条件过于简单,且是单
表
查询
,EF只是负责生成Sql语句,对于一些简单的
查询
,生成Sql语句的时间可以基本忽略,所以不仅没有发挥出EF的优势,而且这样的性能瓶颈基本可以说是和
数据
库完全有关的,这个锅
数据
库得背(
数据
库:怪我了)。鉴于实际项目中多是多
表
的连...
oracle
查询
200W
数据
需要1S,64W
数据
表
,
查询
数据
执行时间为139s,优化为1s-Oracle
64W
数据
表
,
查询
数据
执行时间为139s,优化为1sAFC_TXN.TXN_DATA_FUNC.fetchbatch包中的SQL
查询
语句过慢cut_batch
表
大约有64W
数据
,其中执行参数为substr(t.BATCH_ID,1,2)=’01’的语句为139s给cut_batch
表
添加索引create index idx_cut_batch2 on cut_batch(substr(batch_...
基础和管理
17,377
社区成员
95,111
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章