我一直在创建表和键,基本的东西。没有索引经验。所以问题是:我是否需要手动创建任何索引,或者MySQL是否为我创建的所有表格自动创建它?
如果我需要创建它们,是否意味着需要将具有PK和FK的任何列编入索引,或者这个业务逻辑与哪些列需要索引相关,哪些列不需要。
答案 0 :(得分:3)
您需要自己创建它们。 PK实际上是索引本身,因此不需要对这些列进行双重索引。 FK只能针对索引列实现......
至于实现索引的时间和原因,我建议您阅读以下内容:
有一点需要注意,不要随便盲目地添加索引。这通常是一个坏主意。相反,计划和测试。仅添加可在您的特定用途中获得可衡量收益的索引。索引不是免费的,所以不要轻易将它们抛弃......
答案 1 :(得分:2)
你必须创建它们。
PK也是索引,FK也是。 (因此无需在PK或FK上创建索引)
您必须在WHERE语句上显示的任何列上创建索引。