A little test for index

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

   
  对表创建正确的索引可以加快查询速度。
  
  一个小测试
  
  有一个表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