许多诸如此stackoverflow链接的文章声称没有概念在PostgreSQL中群集索引。但是,PostgreSQL文档包含类似的内容。一些人声称它类似于SQL Server中的群集索引。
您知道这两个之间的确切区别是什么?
a 群集索引或索引有组织的表是一个数据结构,所有表数据均以索引顺序组织,通常是通过组织B树结构中的表格。
一旦组织了这样的表,该顺序将通过所有将来的数据修改自动维护。
PostgreSQL没有此类聚类索引。CLUSTER
命令的作用是按索引的顺序重写表,但是该表仍然是数据的根本无序 heap ,因此未来的数据修改将无法维持该索引顺序。
如果要在表格上数据修改时要保持近似索引顺序,则必须定期使用CLUSTER
。
在PostgreSQL中的聚类可以提高性能,因为在索引扫描中找到的元素将在堆表中靠近,这可以将随机访问到堆中以更快的顺序访问。