使用索引查詢時1複合索引鍵和單獨索引鍵有什麼區別?使用索引查詢時1複合索引鍵和單獨索引鍵有什麼區別
`users` (
**KEY `index` (`email`,`name`)**
)
`users` (
**KEY `email`(`email`),
KEY `name`(`name`)**
)
使用索引查詢時1複合索引鍵和單獨索引鍵有什麼區別?使用索引查詢時1複合索引鍵和單獨索引鍵有什麼區別
`users` (
**KEY `index` (`email`,`name`)**
)
`users` (
**KEY `email`(`email`),
KEY `name`(`name`)**
)
這裏就是故事的一小部分......
考慮以下幾點:
country continent governance population
Afghanistan Asia Islamic Republic 31
Albania Europe Constitutional Republic 3
France Europe Constitutional Republic 66
India Asia Constitutional Republic 1210
Mauritania Africa Islamic Republic 3
Spain Europe Consitutional Monarchy 47
United Kingdom Europe Consitutional Monarchy 64
如果我想尋找亞洲國家,其治理是「伊斯蘭共和國」,然後在索引(continent
,governance
)將會很有用。 但是,如果我想搜索一般治理爲「伊斯蘭共和國」的國家,那麼我將無法使用此索引。但是,我可以使用(governance
,continent
)或僅使用(governance
)。
第一個允許的行具有在所述兩個字段強加在一起,即一個唯一約束,允許以下的行
email name
[email protected] user1
[email protected] user2
[email protected] user2
[email protected] user1 ----> Invalid
雖然第二既需要的列是唯一的。
email name
[email protected] user1
[email protected] user2 ----> Invalid
[email protected] user3
[email protected] user4
[email protected] user4 ----> Invalid
現實生活中的情景將通過他們的名字作爲關鍵字來識別班級中的學生。可以有許多名字相同的學生,所以自然不能被強加爲獨特的。但是,在這種情況下,具有姓名和出生日期的複合鑰匙將證明是一把好鑰匙。
一個更好的例子可能是像國家名單,他們的政府類型(民主,君主制等)和人口規模 – Strawberry 2014-10-03 10:12:44