巴黎,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。