如何加快建index索引的時間

2021-09-17 02:12:31 字數 661 閱讀 9053

一. 先來看一下建立索引要做哪些操作:

1. 把index key的data 讀到記憶體

==>如果data 沒在db_cache 中,這時候很容易有大量的db file scatter read wait

2. 對index key的data 作排序

==>sort_area_size 或者pga_aggregate_target 不夠大的情況下,需要做 disk sort, 會有大量的driect path read/write , 另外,消耗大量cpu time

3. 建立新的index segment , 把排過序的index data 寫到所建立的index segment 裡面

==>如果index 很大,那麼,有時也會有redo log 相關等待,如:

log buffer space ,log file sync , log file parallel write 等

所以,在建大表索引時,可以增大pga,增大temp tablepace,並且用nologging或並行選項。

如:create index idx_logs on logs(time) nologging parallel 4;

並行度一般看cpu 個數。當然在cpu 比較空閒的情況下可以多並行幾個。對於單cpu 不建議用並行,這樣反而會增加建立時間。也可以根據v$ses

如何加快Oracle建立索引的速度

如何加快建立索引的速度 總結一下 1。使用並行引數,8個cpu,可以用parallel 6 最多占用6個cpu,正常情況下沒問題 前提是其他應用沒有佔超過2個cpu的資源 2。nologging,絕對應該使用,會使速度大幅上公升。減少大量redo log 3。pga,普通的auto pga最大才10...

MySQL的索引(Index)詳解

索引分類 1 普通索引 key indexes 2 唯一索引 unique indexes 3 主鍵索引 primary key indexes 4 組合索引 composite index 5 字首索引 prefix indexes 6 全文索引 full text indexes 7 雜湊索引 ...

如何加快Python 應用的啟動時間

我聽說pipenv9.0.2已經發布,啟動時間有了很大的改進。我很快就試了一下,但我覺得並不快。所以我用python3.7的新特性來研究它。在本文中,我將介紹該特性以及如何使用它。啟動時間 匯入時間 例如,pipenv h 的執行時間比顯示幫助訊息的時間長得多。一般來說,當應用程式啟動時,會有一些啟...