当前位置: 代码迷 >> Oracle管理 >> SQL語句執行很慢解决办法
  详细解决方案

SQL語句執行很慢解决办法

热度:215   发布时间:2016-04-24 04:08:00.0
SQL語句執行很慢
SQL語句很簡單但是執行的很慢,不知道為什麼.

SQL語句:select a.qty, a.panel_no, a.pcs_no
               from sajet.apple_sn a
               left join sajet.xx_bobcat_test_data b on a.pcs_no=b.sn
              where a.panel_no = 'F503270J1'

要執行2秒多

執行過程如下

SELECT STATEMENT, GOAL = ALL_ROWS 5560 37 1813
 HASH JOIN OUTER 5560 37 1813
  TABLE ACCESS BY INDEX ROWID SAJET APPLE_SN 5 20 620
   INDEX RANGE SCAN SAJET APPLE_PANEL 3 20
  TABLE ACCESS FULL SAJET XX_BOBCAT_TEST_DATA 5544 1282178 23079204


索引如下

SAJET BOBCAT_SN_INDEX Normal SN N N tablespace sysbs pctfree 10 initrans 2 maxtrans 255 storage ( initial 64k next 1m minextents 1 maxextents unlimited )
SAJET BOBCAT_STARTTIME_INDEX Normal START_TIME N N tablespace sysbs pctfree 10 initrans 2 maxtrans 255 storage ( initial 64k next 1m minextents 1 maxextents unlimited )
SAJET BOBCAT_TESTSTATION_INDEX Normal TEST_STATION_NAME N N tablespace sysbs pctfree 10 initrans 2 maxtrans 255 storage ( initial 64k next 1m minextents 1 maxextents unlimited )



SAJET APPLE_PANEL Normal PANEL_NO N N tablespace sysbs pctfree 10 initrans 2 maxtrans 255 storage ( initial 64k next 1m minextents 1 maxextents unlimited )
SAJET APPLE_WORK Normal WO_NO N N tablespace sysbs pctfree 10 initrans 2 maxtrans 255 storage ( initial 64k next 1m minextents 1 maxextents unlimited )
SAJET PCS_NO Unique PCS_NO N N tablespace sysbs pctfree 10 initrans 2 maxtrans 255 storage ( initial 64k next 1m minextents 1 maxextents unlimited )


------解决思路----------------------
在xx_bobcat_test_data表的sn列建索引再试试
------解决思路----------------------
在xx_bobcat_test_data表的sn列建索引再试试
------解决思路----------------------
在xx_bobcat_test_data表的sn列建索引再试试
------解决思路----------------------
引用:
在xx_bobcat_test_data表的sn列建索引再试试

楼上说的对
------解决思路----------------------
TABLE ACCESS FULL SAJET XX_BOBCAT_TEST_DATA 5544 1282178 23079204
那怎么会全表搜索?
也快,也可以加强制索引试试 
/*+use_index(b BOBCAT_SN_INDEX)*/ 
  相关解决方案