mysql - Oracle【诡异】的效率问题
巴扎黑
巴扎黑 2017-04-17 13:57:18
[MySQL讨论组]

下面这两段SQL,本意是用循环造数据用作压力测试用的,脚本的效率不高,大家不要吐槽。
在执行了这两句后,能够造出一百万左右的数据。
后来测试完了,把fcs_cls_app表清空,只留几条数据或者没有数据的时候,增删改查这个表就会变得非常的慢,哪怕几条数据都会要很长时间,几乎一分钟吧,十分的诡异。
我后来把fcs_cls_app这个表drop掉重新创建,就好了,增删改查都是正常的速度。
请问这会是什么原因呢?
本来没有考虑过这个脚本引起的问题的,然后今天有个同事也需要造数据做压测,我就把我写的这个脚本发给他改一下用了,然后出现了和我一样的情况:测试完了,表里面数据只有6条都要查询很长的时间!
(操作都是在PLSQL11客户端上进行的,但是很明显的能够感觉到系统运行时与这个表相关的操作也会变得很慢)

create table test as select * from fcs_cls_app;  
--造数据
declare
 i integer;
 my_num integer; 
begin
  i:=1;
  my_num:=1;
  for i in 1..20 loop
    delete from test;
    insert into test select * from fcs_cls_app;
    update test t set t.appsheetserialno = t.appsheetserialno + my_num;
    insert into fcs_cls_app select * from test;
    my_num:= my_num*2;
    commit;
  end loop;
end;
巴扎黑
巴扎黑

全部回复(2)
迷茫

检查下Oracle的redolog是不是开着

PHPz

对这个表收集一下统计信息就好了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号