有没有办法可以找出知道为表创建哪些索引的最佳方法?
简短的经验法则. (其中一些是自动创建的,但可能会在以后手动删除,具体取决于您的dbms.不要以为您将始终使用Postgresql.)
原文链接:https://www.f2er.com/postgresql/192297.html>索引每个主键.
>索引每个外键.
>索引JOIN子句中使用的每一列.
>索引WHERE子句中使用的每个列.
>研究您的文档以了解dbms支持的“深奥”索引选项.
每个主键意味着多列主键应该具有覆盖所有列的单个索引.如果声明多列主键,Postgresql将自动创建此索引.
在许多情况下,单个多列索引比几个单列索引提供更好的性能. Monitor slow queries并做测试以确定哪个是哪个.
假设对索引的任何更改都将改善某些数据库活动并降低其他活动的性能.我发现在索引更改之前和之后可以配置一组sql语句很有帮助.该集包括SELECT,INSERT,UPDATE和DELETE语句.
研究特定dbms的文档是无可替代的.
> CREATE INDEX
> Indexes(特别注意有关索引表达式,部分索引和检查索引用法的部分)