10 个你不知道的 PostgreSQL 功能
可以看到,现在的估算精度更高了(即 1000 ),查询速度也提高了2倍左右。 通过运行下面的查询,我们可以看到 planner 学到了什么。
现实影响 在实际的生产模式中,你总是会有某些与数据库不知道的相互依赖或关系的列。 以下是我们与 Citus 客户见过的一些例子:
这里的例子仅仅是在数据集中只有 10M 行的情况,并且我们已经看到,在存在相关列的情况下,使用 CREATE 统计信息可显着改善查询计划,并显示性能改进。在 Citus 使用案例中,我们有客户存储数十亿行数据,糟糕查询计划的影响可能非常严重。在上述示例中,当 planner 选择了一个糟糕的查询计划时,我们不得不为 10M 行做一个基于磁盘的分类。想象一下如果是数十亿行,那会有多糟糕。 Postgres一直在变得越来越好 当我们着手构建 Citus 时,我们明确选择了 Postgres 作为构建基础。通过扩展 Postgres ,我们选择了一个坚实的基础,在每个版本迭代中变得更好。由于 Citus 是一个纯粹的扩展,而不是分支,所以每个版本中出现的所有优秀新功能都可以在使用 Citus 时得到充分利用。 【编辑推荐】
点赞 0 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |