影响索引的Oracle主键

时间:2014-03-24 09:27:14

标签: database performance oracle indexing

昨晚我的索引工作非常好,低I / O就是好东西。今天早上我在表中添加了一个主键,性能已经下降,优化器甚至在提示时也忽略了索引。任何建议?三江源

架构结构..

      Product
      ID       PK
      Name     
      Price   

      Order_Line
      Order_ID    FK
      Product_ID  FK
      Qty

      Orders
      ID             PK
      O_Date date
      CustID  

查询...

      SELECT SUM(OL.QTY) FROM  PRODUCT P,ORDERS O, ORDER_LINE OL   
      WHERE
      P.NAME = 'APRICOT JAM'
      AND
      P.ID = OL.PRODUCT_ID
      AND
      O.O_DATE = '03-MAR-2014'
      AND
      OL.ORDER_ID= O.ID
      ;

它不使用的索引是产品的综合索引,即(名称,ID),而不是使用产品主键进行索引范围扫描谢谢!

1 个答案:

答案 0 :(得分:1)

产品表 ID PK 名称INDEX01 价格

我会用这种方式构建你的表格。 您的查询将进行范围扫描,因为它将在表中扫描查询中的P.NAME ='APRICOT JAM'子句。