









常理來說,unique index 在做查詢的時候,可以想像約等同於 SELECT 1 AS one LIMIT 1,因為不需花費力氣找尋其他相同的數據,所以理論上會快一些。
舉例來說: Query plan 會在某些查詢有效的使用 unique index ,而不是普通索引
比方在某個有包含 unique index 的 table, 使用 SELECT DISTINCT, query plan 會發出一個跳過對結果進行排序並消除重複的 query plan,即便這個 query 沒有明確的用到 unique index。
有 unique index 的部分,INSERT / UPDATE / DELETE 速度會稍微慢一些,因為在每次更動資料時都會檢查這個值是否重複。
看了一些相關的資料,發現並沒有直接確定的答案,通常是取決於你的查詢內容,Query plan 會盡可能的找到可以提高性能的 index 來優化搜尋。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。