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. 表的主键是该表的另一个索引中的列吗?