【发布时间】:2018-12-07 14:16:41
【问题描述】:
来自https://www.postgresql.org/docs/9.6/static/indexes-index-only-scans.html:
PostgreSQL中的所有索引都是二级索引,意味着每个索引都与表的主数据区分开存储(在PostgreSQL术语中称为表的堆)。
在postgresql中,二级索引是否定义为与表的主数据区分开存储的索引?
如果不是,它的定义是什么,为什么引用中提到的不是定义?
同理,主索引的定义是什么?
postgresql 中的概念和Oracle database 中的概念一样吗?
谢谢。
【问题讨论】:
-
@klin 我认为该评论应该是一个答案。没什么好说的了。
-
这应该是为了帮助那些来自 MySQL 的人理解其中的区别。在 MySQL 中,所有索引都不是引用表堆,而是主键索引。 PostgreSQL没有这样的概念。
-
@LaurenzAlbe 谢谢。 “在 MySQL 中,所有索引都不是引用表堆,而是主键索引。” “所有索引”是否包括“主键索引”?在postgresql中,所有索引是否都直接引用表堆,对吗?
-
当然MySQL中的主键索引不引用自己。在 PostgreSQL 中,所有索引都是相等的,这使得读取速度更快,但会减慢修改速度。
-
@LaurenzAlbe 你有链接到 MySQL 中定义二级索引和主索引的位置吗?
标签: postgresql secondary-indexes