Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2088491
  • 博文数量: 1647
  • 博客积分: 80000
  • 博客等级: 元帅
  • 技术积分: 9980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 15:15
文章分类

全部博文(1647)

文章存档

2011年(1)

2008年(1646)

我的朋友

分类:

2008-10-28 17:46:10


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

--------------------next---------------------

阅读(93) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~