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数据库,存储过程需要返回一个二维数组,请问应该怎么写 提示输入,然后插入数据的问题 纠结于Oracle 为什么v$database 视图中的flashback_on 字段为NO,我仍然能闪回表呢? 如何查询oracle里面所有的实例? 奇怪的sql语句问题,大家帮忙看看? 如何在 ORACLE 8 中建立一个序列号? SQL查询效率的问题! 简单的SQL语句问题!在线等,帮我啊!!! oracle 11g nvarchar 索引不生效 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爆满啦!