关闭。这个问题需要更加突出重点。它目前不接受答案。**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
两年前关门了。改进这个问题我是新来的数据库,所以请不要爆炸我。我研究过mysql自动为主键创建索引。但是,如果索引用于加速搜索和联接,并且在这2个操作中始终使用主键,那么为什么还要为其他列创建索引呢?
brvekthn1#
连接不仅仅是pk到pk。任何两个表都可以在涉及其任何列的任何条件下联接。pks(主键)&连接不需要其他约束和索引。它们是为了完整性和优化。表表示应用程序/业务关系(ship)和关联。查询返回的表是基表的组合。该表表示一个关系(ship)/关联,它是这些基表的关系(ship)/关联的相应组合。这些table之间是什么关系?需要将两个表与其FK联接到第三个表中
41zrol4v2#
例如,您可能希望按另一列(如people.name或people.lastname)搜索(排序结果或在where子句中筛选结果)。为了更快地完成此操作,可以使用此列创建索引。如果您不需要,它甚至可能不包含主键。问题是索引中的数据存储方式与表中的不同,特别是为了加快索引的搜索速度。
2条答案
按热度按时间brvekthn1#
连接不仅仅是pk到pk。任何两个表都可以在涉及其任何列的任何条件下联接。pks(主键)&连接不需要其他约束和索引。它们是为了完整性和优化。
表表示应用程序/业务关系(ship)和关联。查询返回的表是基表的组合。该表表示一个关系(ship)/关联,它是这些基表的关系(ship)/关联的相应组合。
这些table之间是什么关系?
需要将两个表与其FK联接到第三个表中
41zrol4v2#
例如,您可能希望按另一列(如people.name或people.lastname)搜索(排序结果或在where子句中筛选结果)。为了更快地完成此操作,可以使用此列创建索引。如果您不需要,它甚至可能不包含主键。
问题是索引中的数据存储方式与表中的不同,特别是为了加快索引的搜索速度。