Oracle建立测试表实例Word文件下载.docx
《Oracle建立测试表实例Word文件下载.docx》由会员分享,可在线阅读,更多相关《Oracle建立测试表实例Word文件下载.docx(13页珍藏版)》请在冰点文库上搜索。
createtablet('
;
foriin1999
loop
=l_sql||'
n'
||i||
'
number,'
endloop;
padvarchar2(50))pctfree10'
executeimmediatel_sql;
end;
/
这里是建议一张999个字段的表
2.插入数据
insertintotselect'
=l_sql||'
0,'
nullfromdualconnectbylevel<
=10000'
commit;
插入10000条数据
3.查看执行的时间
DECLARE
l_dummyPLS_INTEGER;
l_startPLS_INTEGER;
l_stopPLS_INTEGER;
l_sqlVARCHAR2(100);
BEGIN
l_start:
=dbms_utility.get_time;
FORjIN120
LOOP
EXECUTEIMMEDIATE'
SELECTcount(*)FROMt'
INTOl_dummy;
ENDLOOP;
l_stop:
dbms_output.put_line('
COUNT星20次的时间是:
'
||to_char((l_stop-l_start)/100,'
0.99'
));
FORiIN1250
l_sql:
='
SELECTcount(n'
||i||'
)FROMt'
EXECUTEIMMEDIATEl_sqlINTOl_dummy;
COUNT各列20次的时间是:
END;
输出结果:
COUNT星20次的时间是:
0.14
COUNT各列20次的时间是:
0.15
0.16
0.17
0.18
0.19
0.20
0.21
0.22
0.23
0.24
0.25
0.26
0.27
0.28
0.29
0.30
0.31
0.32
0.33
0.34
可见越是在后面的列需要的时间越久,但是和count
(1)和count(*)是一样的,因为1是数据不是列,不需要定位。