Oracle 死鎖與索引

開發的系統在重複提交更新操做(須要先刪除數據再添加數據,涉及多張表),發生死鎖:
java

ORA-00060: 等待資源時檢測到死鎖
網上找到的相關理論這樣說: oracle在刪除主表的時候會去尋找全部以主表的主鍵做爲外鍵的數據表,而後看去看從表是否有該外鍵的索引,若是沒有則會對整個從表施加表級鎖,而後對從表進行全表掃描。固然若是從表存在外鍵的索引,會去訪問對應的索引,而不會對從表自己進行加鎖。
給外鍵字段建立索引後再測試,沒有出現死鎖的問題,建立索引的語句:
create index INDEX2_DISCUSSION on  DISCUSSION(USER_ID);
兩個小問題:     一、能不能在建表的同時建立索引? 不能夠。     二、不刪除索引能不能直接刪除表? 能夠,刪除表的時候會自動刪除索引。
相關文章
相關標籤/搜索