为什么order by 这么慢 刚刚接触pl,我的表里只有2,3十条数据,不太明白,一加上order by之后就一直在执行,不返回结果。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 order by是肯定的耗时间具体的代码 比如就 select * from A order by id desc表里面有30多条数据,一直执行了半天 不正常你试试create table t1asselect * from A ;truncate table A;insert into a select * from t1;然后再select * from A order by id desc 还有一个这样的情况select * from Awhere ID='001',这个有数据,很快就出来了,select * from A WHERE ID='888',这个没数据,但是很慢,奇了怪了。 估计是你hwm太高了是不是表里曾经存在过天量数据,后来删除的就剩几十条了?id上应该有索引。当索引值存在时直接利用索引查找rowid,所以快。当索引值不在时,全表扫描,这时候就慢了你按我上面说的操作下应该就好了。truncate和drop可以降低hwm 给order by后的字段建个索引试试 2,3十条 加上order by 很慢 这得是什么机器啊。。 请教 oracle11G 企业管理怎么打开 关于OCI函数释放句柄空间的问题 查询结果的某字段合并——急等大牛来助! 字符集的问题 帮忙啊 请教错误发生的原因及解决方法 请各位高手进来看看 oracle 下 update 为什么不能用 from Oracle 8.1.6与Oracle 8.1.5的问题: 为何提示:ORA-12545: Connect failed because target host or object does not exist 求帮助 PL/SQL developer 点击Tables文件夹显示ora 00936 oracle数据库冷备 被SQL注入,求解
具体的代码
你试试
create table t1
as
select * from A ;
truncate table A;
insert into a
select * from t1;
然后再
select * from A order by id desc
id上应该有索引。当索引值存在时直接利用索引查找rowid,所以快。
当索引值不在时,全表扫描,这时候就慢了
你按我上面说的操作下应该就好了。
truncate和drop可以降低hwm