A little test for index,PCTFREE,性能调优
对表创建正确的索引可以加快查询速度。
一个小测试。
有一个表cpu_monitor有843240条记录,
SQL> desc cpu_monitor.
Name Null? Type
----------------------------------------- -------- ----------------------------
SVRNAME VARCHAR2(25)
RECDDATE DATE
USR NUMBER(10)
SYS NUMBER(10)
WIO NUMBER(10)
IDLE NUMBER(10)
SQL> 0select count(*) from cpu_monitor.
COUNT(*)
----------
843240
Elapsed: 00:00:06.47
对它以下面的SQL语句进行查询:0select SVRNAME, count(*) counts from CPU_MONITOR group by SVRNAME。
花去时间20.07秒
SQL> 0select SVRNAME, count(*) counts from CPU_MONITOR group by SVRNAME
2 .
SVRNAME COUNTS
------------------------- ----------
app1 6713
dev 19297
*** ****
*
*
*//省略
24 rows 0selected.
Elapsed: 00:00:20.07
对这个表建立索引:create index idx_cpu_monitor on CPU_MONITOR(SVRNAME).
不过这个索引却花了01:42.07分钟才建好。
SQL> create index idx_cpu_monitor on CPU_MONITOR(SVRNAME).
Index created.
Elapsed: 00:01:42.07
对它以下面的SQL语句进行查询:0select SVRNAME, count(*) counts from CPU_MONITOR group by SVRNAME。
花去时间07.41秒。
SQL> 0select SVRNAME, count(*) counts from CPU_MONITOR group by SVRNAME
2 .
SVRNAME COUNTS
------------------------- ----------
app1 6713
dev 19297
*** ****
*
*
*//省略
24 rows 0selected.
Elapsed: 00:00:07.41
好了,目的达到了。节省了时间是:12秒多。
相关文章
Oracle10gR2新特性之备份和可用性特性
Oracle10gR2特性之数据仓库和集成特性
Alittletestforindex
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛