使用索引查询时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