Q
帶或不帶指數
7
A
回答
7
和喬爾一樣,我會迴應聲明:是的,它可以是真實的。我發現識別他所提到的場景的關鍵在於數據的分佈,以及您在特定表上的索引大小。
在我用來支持的應用程序中,執行了180萬行的正常批量導入,其中包含4個索引,1個包含11列,表中共有90列。帶索引的導入需要20多個小時才能完成。刪除索引,插入和重新創建索引只需要1小時25分鐘。
所以它可以是一個很大的幫助,但很多都歸結於你的數據,索引和數據值的分佈。
6
是的,這是真的。當插入過程中表格上有索引時,服務器將需要不斷重新排序/分頁表格以保持索引保持最新狀態。如果刪除索引,則只需添加行而不用擔心,然後在重新創建索引時一次構建索引。
當然,例外情況是導入數據已經處於索引順序。實際上,我應該注意到,我現在正在開展一個項目,觀察這種相反的效果。我們希望減少大量進口(從大型機系統每晚轉儲)的運行時間。我們嘗試刪除索引,導入數據並重新創建它們。實際上顯着增加了導入完成的時間。但是,這不是典型的。它只是表明你應該總是先測試你的特定系統。
2
在刪除和重新創建索引時,您應該考慮的一件事是,應該只在自動化進程上運行,這些進程在數據庫使用的低容量時段運行。當索引被刪除時,它不能用於其他用戶可能同時收到的其他查詢。如果您在生產時間內這樣做,您的用戶可能會開始抱怨超時。
相關問題
- 1. 帶或不帶斜線
- 2. .htaccess帶或不帶斜槓
- 3. 函數指針不帶指針參數
- 4. 分配指針帶或不帶預選賽
- 5. 播放帶或不帶Flash的嵌入式YouTube視頻,帶或不帶Javascript
- 6. 執行LINQ帶或不帶where條款
- 7. 正則表達式帶或不帶+ 1S
- 8. 帶或不帶括號的PHP比較
- 9. 列表視圖帶或不帶convertview == NULL
- 10. 導入帶有或不帶有ES6
- 11. 學習帶或不帶DI的MVC3?
- 12. 的.htaccess相同的URL帶或不帶/
- 13. 的Git推帶或不帶力
- 14. 帶或不帶BOM的UTF-8?
- 15. 出口證書 - 帶或不帶私鑰
- 16. mod_rewrite帶或不帶slash的URL重寫
- 17. 帶或不帶「常量」,在C++簽名
- 18. Android ListView帶或不帶圖像
- 19. 調用一個泛型函數帶或不帶參數
- 20. image_tag語法帶或不帶「」 - 帶方法 - ruby
- 21. Java 6個的註解帶或不帶參數重複
- 22. 正則表達式匹配小數帶或不帶尾隨零
- 23. 帶或不帶特定字段的數據序列化
- 24. 一個月的數字表示法,帶或不帶前導零
- 25. 數據庫:存儲帶或不帶散列的hashtag
- 26. 具有零參數的宏 - 帶或不帶圓括號
- 27. 帶「指針」的Python函數
- 28. 帶JNI的指針參數
- 29. 帶指數的PHP部門
- 30. 帶指針的函數?
會插入新的數據到一個臨時表,然後做一些像INSERT INTO TABLE x(SELECT * FROM y)是一個可行的選擇?根據數據庫的不同,可能會涉及一些索引優化 - 或者我可能會標記爲 – 2008-12-08 17:10:19
不,因爲那樣您就會執行兩次插入。當然,你的情況可能會有所不同,但總的來說,這無濟於事。 – 2008-12-08 19:49:42