create table dzd(
dguid varchar2(32),
dname varchar2(3000)
)
select * from dzd 执行时间10秒
我建立个索引 CREATE Index dname_sy ON dzd(dguid,dname)
再select * from dzd 执行时间10秒
怎么才能提高select * from dzd 的执行速度 求解
ps:数据库 ORACLE\ 表中有500条数据
你这Oracle太水了~~~这么慢,怎么混啊~查其他原因吧~
我是想问 是不是我的索引有问题 我感觉根本没用上啊
@thinkit: 不仅仅是索引,实在是太慢了~~~
@幻天芒: 事实是这样的,我有另外一个表,这两个字段是表的一部分,被我拿到其它表空间里了。原表的查询速度提高了5秒(但还是20秒)。我单独查询varchar2(2000)字段时 秒查,但是我再加一个字段varchar2(2000)时就变成5秒了,我4个字段(1000~2000)一起查询的时候就20秒了 。我想通过一些方法优化一下。
@thinkit: 一直不明白,为啥会出现这样的问题!多差一个字段你不应该会这么慢的,我觉得先在这上面找找原因。随便问下,数据量大概是?
@幻天芒: 数据量800多,我已经解决了,写个存储过程就ok了。但我想知道是什么问题让它这么慢。是内存问题吗,还是什么问题。
@thinkit: 我也一直很好奇这个问题,为什么这么慢!
@幻天芒: 找到为什么会这么慢了吗?我很好奇!
500条就这样,那应该不是 SQL语句的问题了
单独查询 dguid 秒查
单独查询 dname 10秒
可以提速的 就是不知道怎么弄
同上,想查查是不是其他问题。设备配置,网络等因素。
那尼10秒!!!!一百万条数据不弄索引从头到尾也不用这么久巴。
而且只有一个表,又不是联合查询,绝对不是什么提速不提速的问题。
就算用文本文档保存这些数据,用流读取出来也是秒杀杀的。
表示怀疑兄台这10秒是怎么来的。
可能也是因为设备和网络的因素,使得500条数据用了15才查出来。不过我写了个过程,调用过程是秒查。也算是解决了。