巴黎,2015 年 6 月 24 日
DALIBO 自豪地发布 HypoPG 的第一个版本,这是一个为 PostgreSQL 添加假设索引的扩展。
假设索引是一种磁盘上不存在的索引。因此,它的创建几乎是瞬时的,并且不会增加任何 IO 成本,无论是在创建时还是在维护时。其目标显然是在花费过多时间、I/O 和磁盘空间来创建索引之前,检查该索引是否有用。
有了这个扩展,你可以创建假设索引,然后使用 EXPLAIN 检查 PostgreSQL 是否会使用它们。
您是否曾想过一个索引会如何提高服务器的性能,但又无法负担创建它到磁盘上仅仅是为了尝试的成本?
HypoPG 可以这样帮助您
首先,让我们创建一个简单的用例
# CREATE TABLE testable
# AS SELECT id, 'line ' || id val
# FROM generate_series(1,1000000) id;
# ANALYZE testable ;
现在,让我们安装 HypoPG 并在这个新表上创建一个假设索引
# CREATE EXTENSION hypopg;
# SELECT hypopg_create_index('CREATE INDEX ON testable (id)');
您现在可以使用 EXPLAIN (不带 ANALYZE) 来检查 PostgreSQL 是否会使用该索引!
# EXPLAIN SELECT * FROM testable WHERE id = 1000 ;
QUERY PLAN
-----------------------------------------------------------------------------------------------
Index Scan using 41079_btree_testable_id on testable (cost=0.05..8.07 rows=1 width=15)
Index Cond: (id = 1000)
(2 rows)
太棒了!如果 'id' 列上有索引,PostgreSQL 会利用它!
DALIBO 是法国领先的 PostgreSQL 公司,自 2005 年以来一直为客户提供支持、培训和咨询。该公司通过多种方式为 PostgreSQL 社区做出贡献,包括:代码、文章、翻译、免费会议和研讨会。
查看 DALIBO 的开源项目:http://dalibo.github.io。