PostgreSQL的CLUSTER与SQL Server中的聚簇索引有何不同?

时间:2017-12-06 07:56:42

标签: postgresql clustered-index

许多帖子如this stackoverflow link声称PostgreSQL中没有聚集索引的概念。但是,the PostgreSQL documentation包含类似的内容。一些人声称它类似于SQL Server中的聚簇索引。

你知道这两者之间的确切区别是什么吗?

1 个答案:

答案 0 :(得分:8)

聚簇索引索引组织表是一种数据结构,其中所有表数据按索引顺序组织,通常通过在B树结构中组织表

一旦表格如此组织,订单将由所有未来的数据修改自动维护。

PostgreSQL没有这样的聚类索引。 CLUSTER命令执行的操作是按索引的顺序重写表,但该表仍然是数据的基本无序,因此将来的数据修改将不会维护该索引顺序。 / p>

如果您希望在对表格进行数据修改时保持近似索引顺序,则必须定期CLUSTER一个PostgreSQL表。

PostgreSQL中的群集可以提高性能,因为在索引扫描期间找到的元组将在堆表中靠近,这可以将对堆的随机访问转换为更快的顺序访问。