日期:2014-05-17  浏览次数:20890 次

急!!急!!急!!几个关于Oracle数据库优化的简单问题,在线等,马上结贴。。。谢谢
3、 那个SQL有可能用到索引(),不能用到索引的请说明原因
SQL>   DESC   TEST                          
Name   Type                   Nullable  
----   ------------   --------  
ID       NUMBER                              
NAME   VARCHAR2(20)   Y
a) SELECT   COUNT(NAME)   FROM   TEST;
b) SELECT   *   FROM   TEST   WHERE   ID=’1’;
c) SELECT   *   FROM   TEST   WHERE   UPPER(NAME)=UPPER(‘ORACLE’);
d) SELECT   ID   FROM   TEST;  

4、 在一个业务繁忙的系统更新一个有5000万行的表T的列C2的值为1,如何做?

5、 表关联更新
有如下两个表:
SQL>   desc   t1            
Name   Type                  
----   ------------  
ID       INTEGER            
NAME   VARCHAR2(20)  

SQL>   desc   t2
Name   Type                  
----   ------------  
ID       NUMBER              
NAME   VARCHAR2(20)

T1和T2的ID都是主键。现需要根据ID将T2中NAME的值更新到T1的NAME列中,请写出SQL。

6、 尽管表都经过正确的分析,但下面的SQL执行起来仍非常缓慢,请分析调优。
SQL>   SELECT   OOR.*
    2         FROM   NDMAIN.ORD_ORDER_ITEM_CEN   OOI,   NDMAIN.ORD_ORDER_RECEIVE_CEN   OOR
    3       WHERE   OOI.PLAT_ID   IN
    4                   ( 'FR20T0000020000400000002 ',   'FR20T0000020000400000131 ',
    5                     'FR20T0000020000400000048 ')
    6           AND   OOI.RECORD_ID   =   OOR.ORDER_ITEM_ID;

Execution   Plan
----------------------
      0             SELECT   STATEMENT   Optimizer=CHOOSE   (Cost=3805   Card=369821   Byt
                    es=96153460)

      1         0       MERGE   JOIN   (Cost=3805   Card=369821   Bytes=96153460)
      2         1           TABLE   ACCESS   (BY   INDEX   ROWID)   OF   'ORD_ORDER_RECEIVE_CEN '
                      (Cost=826   Card=9145040   Bytes=1920458400)

      3         2               INDEX   (FULL   SCAN)   OF   'TU_ORD_ORDER_RECEIVE_ORDER_ID '   (
                    NON-UNIQUE)   (Cost=26   Card=9145040)

      4         1           SORT   (JOIN)   (Cost=2979   Card=358466   Bytes=17923300)
      5