首页 > 开发 > 综合 > 正文

A little test for index

2024-07-21 02:38:02
字体:
来源:转载
供稿:网友

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表