Php

MySQL大型數據庫,唯一索引對效率的影響?

  • January 12, 2013

我正在處理一張包含大約 30 萬條記錄的表格。我正在使用 3 列唯一索引來防止重複記錄。由於某種原因,數據庫需要很長時間才能插入新行。

我有幾個關於 UNIQUE 索引和效率的問題:

  1. UNIQUE 索引會使表變慢嗎?
  2. 將舊行儲存在另一個表中並將表減少到大約 1k 條記錄是否有用?
  3. 最重要的是有什麼方法可以知道我的數據庫插入一行需要多長時間?在 phpMyAdmin 中,我可以看到“處理查詢的時間”,但僅限於 SELECT 查詢
  1. 索引確實為數據庫帶來了一些成本,因為必須插入數據然後管理索引。它會使桌子變慢嗎?這在很大程度上取決於有多少行、多少索引、如何組織表空間、文件系統等。通常,在正常執行的數據庫上,表上的幾個索引不應該被注意到。
  2. 是的。許多數據庫引擎Range Partitioning基於這樣的想法提供一些限定,將舊的、不變的數據分開以單獨管理。這可以通過將數據移動到另一個表來完成,或者允許引擎使用Range Partitioning. 看到這個 MySQL
  3. 您應該使用另一個客戶端來衡量這一點 - 可以為您提供這些統計數據的東西。建議使用 MySQLWorkbench。其他工具可能包括 DBVisualizer、SQuirrel 等。

引用自:https://dba.stackexchange.com/questions/31830