我想索引数据库。但是在大多数表中没有设置外键约束。所以在开始索引之前是否必须为所有表设置外键?或者根据查询索引表列。请提供宝贵的建议。
马赫什
答案 0 :(得分:3)
简答:索引不依赖于外键或它们的约束,但外键可以通过索引增强..但索引通常放在非外键的列上。
细节很少:您应该在表中查看您要搜索的内容,并在这些列上创建索引 - 但要认真对待这一步,索引在数据库设计中是一个有价值的过程,但如果操作不正确会对您造成伤害。 / p>
答案 1 :(得分:2)
是:创建域所需的外键(即与PK的所有关系)。即使没有索引,优化器也会考虑这些因素。
您可以从定义所有FK列的索引开始,但最好捕获代表性查询工作负载以确定最昂贵的查询,然后相应地进行索引。