對一個表插入大量資料很慢,刪掉索引后,速度變快,但是查詢又很慢,陳述句為insert /*+ append */ into tablename nologging,每天要寫上萬條記錄,并且又要對該表進行實時查詢
uj5u.com熱心網友回復:
插入前洗掉索引插入資料后重建索引不就好了uj5u.com熱心網友回復:
用觸發器解決怎么樣
uj5u.com熱心網友回復:
每天上萬條資料不算什么。樓主應該關注一下,資料是一次性寫的 上萬條,還是一條一條寫的。uj5u.com熱心網友回復:
一次性寫的
uj5u.com熱心網友回復:
通過 insert ...select 寫的,還是 insert select 1 from dual union all select 2 from dual union all .... select 10000 from dual ?
uj5u.com熱心網友回復:
通過前者寫的啊uj5u.com熱心網友回復:
嗯1、參考一下 1# 的建議,就是鎖表比較麻煩。
2、考慮一下表磁區,看看能否套用在你的這張表上。
uj5u.com熱心網友回復:
我覺得先要考慮業務場景,這個資料是由誰進行寫入的,寫入時候,時間有沒有要求。帶索引的表,本身特點就是查詢快,寫入慢。
如果插入時間允許可以測驗一下如下操作時間消耗。
alter index index_name unusable;
insert 資料
alter index index_name rebuild;
uj5u.com熱心網友回復:
感謝感謝,我測驗下看看uj5u.com熱心網友回復:
測驗了下,之前插入需要半小時,現在只需要半分鐘,就是重建索引的話也慢,花了12分鐘轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/51041.html
標籤:開發
