克雷格·克尔斯蒂恩斯:Postgres 会使用我的索引吗?Postgres 的假想索引

克雷格·克尔斯蒂恩斯:Postgres 会使用我的索引吗?Postgres 的假想索引

💡 原文英文,约600词,阅读约需2分钟。
📝

内容提要

HypoPG是一个Postgres扩展,可以为Postgres添加假想索引,以便进行索引规划。它支持b-tree、brin和hash索引,但不支持gin或gist索引。使用HypoPG可以查看假想索引是否会被使用,并可以查看索引大小。HypoPG可以帮助改善查询性能,是Crunchy Bridge的一部分,可以尝试使用它。

🎯

关键要点

  • HypoPG是一个Postgres扩展,用于添加假想索引以进行索引规划。

  • HypoPG支持b-tree、brin和hash索引,但不支持gin或gist索引。

  • 使用HypoPG可以查看假想索引是否会被使用,并查看索引大小。

  • 创建HypoPG扩展的命令为CREATE EXTENSION hypopg。

  • 可以通过SELECT hypopg_create_index('CREATE INDEX idx_weather_type ON weather(event_type);')创建假想索引。

  • 使用EXPLAIN可以查看假想索引是否被使用。

  • HypoPG允许查询索引大小,使用SELECT indexname,pg_size_pretty(hypopg_relation_size(indexrelid)) FROM hypopg();。

  • 假想索引不能用于EXPLAIN ANALYZE,因为该工具需要实际存在的索引。

  • 使用pg_stat_statements找到慢查询,利用HypoPG测试创建索引,确认索引使用后再实施。

  • HypoPG是Crunchy Bridge的一部分,可以尝试使用。

🏷️

标签

➡️

继续阅读