我理論上正在研究Oracle11g
DB,並有一個只有2列的特定表。其中一列是person
標識符,其他列是city
標識符,它們都構成primary key
。
但是,personID
的值可能會比cityID
更多。
製作primary key (personID, cityID)
或(cityID, personID)
效率更高嗎?複合主鍵中屬性的順序 - 用於優化查詢
0
A
回答
2
在設置主鍵時沒有「效率」的概念。我的意思是,您可以深入索引結構的結構來確定值的重複是否會影響索引大小,但這將是一個非常非常非常邊際的優化。
一般來說,問題是哪些索引最適合查詢。因此,如果您更常使用where
,order by
和group by
子句的其中一個字段,那麼這將決定哪一個先行。您可能會發現在兩列上都需要非聚集索引。
作爲說明:聚簇索引對於插入不是特別有效。他們要求在舊記錄附近物理定位新記錄,因此插入會放在前一頁的中間(導致頁面拆分和部分填充頁面)。這是插入的額外開銷,二級索引不需要。 (二級索引也需要更新,但原始數據不需要左右移動。)
相關問題
- 1. 優化MySQL查詢順序
- 2. 使用主鍵的查詢優化
- 3. 複合主鍵查詢
- 4. 使用順序主鍵插入查詢
- 5. 使用複合主鍵查詢表格
- 6. 複合主鍵嵌入屬性JPA
- 7. Virtuemart屬性查詢的優化
- 8. 複合主鍵與4個屬性
- 9. mysql按主鍵選擇順序。性能
- 10. 優化查詢$存在子屬性
- 11. 使用外鍵和非鍵屬性創建複合主鍵
- 12. 爲什麼複合主鍵中的列順序與Doctrine有關?
- 13. 用於haskel中順序非線性優化的庫?
- 14. 優化查詢
- 15. 主鍵中列的順序,性能
- 16. 如何排序優化鍵只查詢
- 17. 複雜的查詢優化
- 18. MySQL的列順序在複合鍵
- 19. 複合主鍵,
- 20. MySQL查詢優化複雜的查詢
- 21. 查詢優化。重複的子查詢
- 22. 複合索引順序MySQL查詢
- 23. 休眠:複合自然主鍵中的可選屬性
- 24. 變化複合主鍵
- 25. sqlite中的複合主鍵
- 26. 查詢性能大於主鍵
- 27. 複合主鍵
- 28. 優化聯合查詢
- 29. 優化聚合查詢
- 30. MYSQL優化組合查詢
您可以隨時對其進行基準測試。以下是您可能感興趣的主題:[索引中的列順序](https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:5671539468597)。 – sstan