primary key
對mysql
數據庫表列的約束是否自動錶示在給定列上創建了索引?- 如果是這樣,我們可以將它推廣到任何數據庫,還是僅僅依賴於數據庫實現?
- 如果是這樣,並且如果主鍵是複合的,是否有索引創建每每個這樣的列?
- 它使任何意義創建(附加?)在列已經作爲
primary key
通過key
約束指標?
Q
主鍵也是索引嗎?
1
A
回答
1
在MySQL伯或UNIQUE KEY上創建在約束定義的列的索引。如果有多個列,則會創建一個組合索引。
如果它的InnoDB表PRIMARY KEY也成爲該表的聚集索引。
使用與PRIMARY/UNIQUE相同的定義添加其他索引是沒有意義的。
對於其他RDBMS,這些約束將需要索引。即使您可以在沒有適當索引的情況下創建約束,也需要獲得任何合理的性能。
1
- 是,
primary key
是在MySQL索引了。
表的主鍵表示您在最重要的查詢中使用的列或一組列。它有一個關聯索引,用於快速查詢性能。
https://dev.mysql.com/doc/refman/5.5/en/optimizing-primary-keys.html
對於主鍵和唯一索引之間的差異,可以看到:difference between primary key and unique key
- 不,你將有兩個指標,它會帶更多的磁盤空間。
相關問題
- 1. Sql Server唯一鍵也是索引嗎?
- 2. 在表的主鍵上有索引嗎?
- 3. 主鍵也是超級鍵和候選鍵嗎?
- 4. 我可以擁有沒有聚集索引的主鍵嗎?我也可以擁有多值聚簇索引嗎?
- 5. 索引和主鍵
- 6. 主鍵vs主鍵索引速度
- 7. Sequential Guid主鍵列應該是聚簇索引嗎?
- 8. 主鍵是否自動索引?
- 9. 主鍵是否自動成爲索引?
- 10. 外鍵也是主鍵的一部分
- 11. Oracle Sql:外鍵也是主鍵語法
- 12. 休眠 - @IdClass @ManyToOne - 主鍵也是外鍵
- 13. MySQL的主索引可以是CHAR嗎?
- 14. 境界索引和主鍵
- 15. 主鍵和索引概念
- 16. 非主鍵列MySQL索引
- 17. 主鍵索引自動
- 18. 主鍵和聚集索引
- 19. 恢復索引主鍵
- 20. 刪除主鍵索引
- 21. HBase使用主索引嗎?
- 22. 聚集索引的外鍵VS主鍵
- 23. 外鍵和主鍵Postgres和索引
- 24. 外鍵是否總是引用主鍵?
- 25. 如何更新也是主鍵的列?
- 26. 外鍵引用的主鍵可以是mysql中的varchar(255)嗎?
- 27. 如何將主鍵也用作JPA和Hibernate的外鍵引用?
- 28. 如果我的複合索引是唯一的,我需要一個主鍵嗎?
- 29. 在多列主鍵的第一列上定義索引是多餘的嗎?
- 30. 表的主鍵是該表的另一個索引中的列嗎?