- 索引类型支持多种,通常情况下使用默认B-tree索引即可。
- 建议创建或删除索引时,加CONCURRENTLY关键字在线创建,不阻塞写入。
- 对于频繁更新/删除的列,如果这些列上有索引, 建表时设置合适的填充因子。
- 重建索引时,建议先在线创建一个同字段索引,再删除原索引,避免在索引重建过程中因索引缺失导致查询性能陡降。
- 建议用唯一索引unique index 代替唯一约束unique constraints,便于后续维护。
- 建议对where条件中有多个字段and的高频SQL,建多个字段的联合索引,选择率高的字段放在前面。
- 建议对有固定条件,且选择率高(数据占比低)的SQL,建带where条件的部分索引。
- 建议对经常使用表达式作为查询条件的SQL,创建表达式索引或函数索引提升效率。
- 建议单个表不要创建太多索引,一般不建议超过6个。