首页 > 开发 > 综合 > 正文

A little test for index.

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

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


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

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