熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

oracleSQL執行緩慢的分析

2013-11-13 15:34:07  來源: Oracle 

  問題描述

  oracle數據庫中一張表的數據已經億多而且此表創建了個獨立的索引由於業務需要每天需分兩次向此表中插入萬條記錄由於數據量大每次插入耗時個小時以上嚴重影響效率因此修改了系統的算法將此表中只存儲當天新增記錄將此表truncate後第二天執行對此表的update操作時非常耗時表中有億多條數據的時候此sql語句耗時表中有萬條數據的時候此sql語句耗時幾個小時咨詢DBA後得出結論需重建索引重建後秒完成此操作但第三天問題依然出現DBA正在查找原因難道每次truncate表都需要重建索引?

  對於這個問題DBA也沒有給出合理的解釋推測主要原因是oracle復雜的查詢優化算法

  最終DBA給出的解決方案

  truncate table

  drop index

  insert data

  create index

  analyze table table_name compute statistics;//重新生成統計數據

  調整後整個操作耗時非常少


From:http://tw.wingwit.com/Article/program/Oracle/201311/16938.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.