A little test for index.

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

对表创建正确的索引可以加快查询速度。

一个小测试。

有一个表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> select count(*) from cpu_monitor;

  COUNT(*)

----------

    843240

Elapsed: 00:00:06.47

对它以下面的SQL语句进行查询:select SVRNAME, count(*) counts from CPU_MONITOR  group by SVRNAME。

花去时间20.07秒

SQL> select SVRNAME, count(*) counts from CPU_MONITOR  group by SVRNAME

  2  ;

SVRNAME                       COUNTS

------------------------- ----------

app1                       6713

dev                        19297

***                        ****

*

*

*//省略

24 rows selected.

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语句进行查询:select SVRNAME, count(*) counts from CPU_MONITOR  group by SVRNAME。

花去时间07.41秒。

SQL> select SVRNAME, count(*) counts from CPU_MONITOR  group by SVRNAME

  2  ;

SVRNAME                       COUNTS

------------------------- ----------

app1                       6713

dev                        19297

***                        ****

*

*

*//省略

24 rows selected.

Elapsed: 00:00:07.41

好了,目的达到了。节省了时间是:12秒多。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航