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秒多。