A little test for index.

发表于:2007-06-22来源:作者:点击数: 标签:
对表创建正确的索引可以加快查询速度。 一个小 测试 。 有一个表cpu_monitor有843240条记录, SQL desc cpu_monitor; Name Null? Type ----------------------------------------- -------- ---------------------------- SVRNAME VARCHAR2(25) RECDDATE DAT

   
  对表创建正确的索引可以加快查询速度。
一个小测试


有一个表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秒多。

原文转自:http://www.ltesting.net