- 2
- 0
- 约2.19千字
- 约 5页
- 2016-11-23 发布于北京
- 举报
2015插入万条记录的测试
测试者:kid 测试时间:2015-2-1,以下是执行往表里插入10万条记录的测试,从慢到快的测试。观察测试结果,分析原因。测试环境:oracle 10.2.0.1 x64操作系统:centos 5.10 x64硬件配置:vm版本为11.0没有优化前,--走路速度(alter system flush shared_pool) 执行过程前先清空缓存create or replace procedure proc1 is begin for i in 1..100000 loop execute immediate insert into t(x) values(||i||);--动态语句插入 commit; end loop;end;分析原因:速度慢是因为是用的动态SQL语句插入,其次是每一次写入,提交一次。这个是表面现象。深层次的原因是存在大量的重复语句,每执行一次,产生一次硬解析(这个需要时间)PARSE_CALLS为解析次数,EXECUTIONS为执行次数,可以看出来都是1次。所以速度慢。这里只是后面插入的值不一样,前面的语句都是一样的,有没有办法做到解析一次,插入10万次的可能?也就是执行10万次。以下测试会逐步改进,不会一下改进这样效果明显,慢慢来才有意思。2.把单行提交改成批量提交,--自行车速度create or replace procedure proc2
原创力文档

文档评论(0)