加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

10 个你不知道的 PostgreSQL 功能

发布时间:2018-09-16 19:52:49 所属栏目:MySql教程 来源:开源中国编译
导读:技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战 英文原文:The Postgres 10 feature you didn't know about: CREATE STATISTICS 如果你曾使用 Postgres 做过一些性能优化,你或许已经使用过 EXPLAIN 。EXPLAIN 向你展示了 Postgre

可以看到,现在的估算精度更高了(即 1000 ),查询速度也提高了2倍左右。 通过运行下面的查询,我们可以看到 planner 学到了什么。

  1. SELECT stxkeys AS k, stxndistinct AS nd                                                    
  2.   FROM pg_statistic_ext                                                                    
  3.   WHERE stxname = 's2';  
  4.   k  |       nd        
  5. -----+---------------- 
  6.  1 2 | {"1, 2": 1000} 

现实影响

在实际的生产模式中,你总是会有某些与数据库不知道的相互依赖或关系的列。 以下是我们与 Citus 客户见过的一些例子:

  • 有月份,季度和年份的列,因为你希望在报告中显示按所有人分组的统计信息。
  • 地理层次之间的关系。 例如。 具有国家,州和城市的列,并由它们来过滤/分组。

这里的例子仅仅是在数据集中只有 10M 行的情况,并且我们已经看到,在存在相关列的情况下,使用 CREATE 统计信息可显着改善查询计划,并显示性能改进。在 Citus 使用案例中,我们有客户存储数十亿行数据,糟糕查询计划的影响可能非常严重。在上述示例中,当 planner 选择了一个糟糕的查询计划时,我们不得不为 10M 行做一个基于磁盘的分类。想象一下如果是数十亿行,那会有多糟糕。

Postgres一直在变得越来越好

当我们着手构建 Citus 时,我们明确选择了 Postgres 作为构建基础。通过扩展 Postgres ,我们选择了一个坚实的基础,在每个版本迭代中变得更好。由于 Citus 是一个纯粹的扩展,而不是分支,所以每个版本中出现的所有优秀新功能都可以在使用 Citus 时得到充分利用。

【编辑推荐】

  1. 大数据时代十大热门IT岗位
  2. AMO汽车数据架构 引领汽车信息交互革命
  3. 男人养家这件事,从大数据上看压根不成立
  4. 谷歌/微软/推特/Facebook 宣布推出开源数据传输项目
  5. 史上最严重数据车祸:通用丰田特斯拉统统中招
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读