200W数据的单个表 查询速度很慢。 问题描述:我有一张200W条记录的表,查询数据很慢。然后我删除了大部分数据,就保留几十条数据。 可查询数据还是很慢, 为什么会这样? 几十条数据,一个 select count(*) from tablename 都要1秒多的时间。。新接触oracle ,望好心人指点。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 保留10几条还慢的话,把表的hwm降下来才行。可以重建表, select count(1) from table_a 慢,不代表选择单条记录都慢 实际上,单条查询也是慢。我目前方法很死,就是先把这几十条数据保存到临时表中,再truncate 这个表,再临时表数据插回来。这样做的可以解决查询速度问题。可我就是想知道,为什么会这样的,有没有更好的解决方法 了解一下hwm方面的知识, 如果单条还慢,应该是没有index的问题了。 1. 为什么你这里只有10几条数据,却查询count很慢了解一下hwm方面的知识2. 为什么选单个的也慢如果单条还慢,应该是没有index的问题了。根据你的查询条件,加上相应的index 高水位线问题,可参考文章:http://www.diybl.com/course/7_databases/oracle/2007114/84243.html set autotrace on explainselect .. from ..;查看执行计划,优化之.如果安装有 em,直接使用 sql tuning advisor+sql access advisor 优化之 细看LZ的问题,把表move 一下,再rebuild index 即可解决问题哈. 由于delete数据一般都不会释放空间,你可以查查该表占的空间还是很大,就算只有10条数据速度很慢都算正常的。这种情况下被删除的表数据还可以通过flahback找回来。如果是truncate这种ddl操作,空间就释放了。 创建索引了吗、 不要使用select *from 这样执行的速度是最慢最底下的的这样数据全扫描啊! 如果一个表中20个字段你创建15个索引 不必考虑查询的速度一定特慢 你使用的是oracle数据库吗? 几十条数据需要那么长时间? 是不是,你的电脑CPU爆满啦! oracle中由出生年月获得年龄 DBMS_SQL包出错,急 oracle实现sqlserver isdate函数方法 对于复合主健中的某一列,想唯一约束(unique)的话,怎么实现?? 散 50分 解决最后一个rman恢复的问题! 如何在solaris下,实现oracle9i随着机器的启动关闭而自动启停? 各位兄弟,谁知道哪里能下到oracle 9I? 急用,谢谢了 大家帮我看看这个查询有什么问题? 还要做什么?老兄 请教,大家用什么语言和工具制作网站查询oracle数据库?? ORACLE_SID的 问题 请问在建表的时候如何来指定索引表空间?
我目前方法很死,就是先把这几十条数据保存到临时表中,再truncate 这个表,再临时表数据插回来。这样做的可以解决查询速度问题。可我就是想知道,为什么会这样的,有没有更好的解决方法
了解一下hwm方面的知识, 如果单条还慢,应该是没有index的问题了。
1. 为什么你这里只有10几条数据,却查询count很慢
了解一下hwm方面的知识2. 为什么选单个的也慢
如果单条还慢,应该是没有index的问题了。根据你的查询条件,加上相应的index
select .. from ..;
查看执行计划,优化之.
如果安装有 em,直接使用 sql tuning advisor+sql access advisor 优化之
把表move 一下,再rebuild index 即可解决问题哈.
如果是truncate这种ddl操作,空间就释放了。
不要使用select *from 这样执行的速度是最慢最底下的的这样数据全扫描啊! 如果一个表中20个字段你创建15个索引 不必考虑查询的速度一定特慢
你使用的是oracle数据库吗? 几十条数据需要那么长时间?
是不是,你的电脑CPU爆满啦!