PostgreSQL技术周刊第2期:用PostgreSQL解海盗分金问题

  1. 云栖社区>
  2. 博客>
  3. 正文

PostgreSQL技术周刊第2期:用PostgreSQL解海盗分金问题

萌萌怪兽 2018-10-27 12:16:14 浏览1393
展开阅读全文
PostgreSQL(简称PG)的开发者们:

云栖社区已有5000位PG开发者,发布了3000+PG文章(文章列表),沉淀了700+的PG精品问答(问答列表)。

PostgreSQL技术周刊将会为大家介绍最新的PG技术与动态、预告活动、最热问答、直播教程等,欢迎大家订阅PostgreSQL技术周刊。


最新动态:

本文不谈框架、不谈架构,就谈写代码的那些事儿!后文始终围绕一个问题的解决方案,不断发现其中“重复”的代码,并提炼出“可重用”的抽象,持续“重构”。希望通过这个过程和大家分享一些发现重复代码和提炼可重用抽象的方法。

什么是聚合?聚合就是把元素按照一定的规则分为不同的组,然后对各组元素进行计算。本文中就为大家分享了两种PostgreSQL中的聚合算法,GroupAggregatede 特点是在进行聚合之前先要将数据进行排序,然后进行聚合操作,而且出来的结果是有序的,而HashAggregate的特点是不需要进行排序,在组数值比较小的情况下是比GroupAggregate要快很多,但是需求的内存会比较多。

有一篇文章叫做《无往不利:用SQL解海盗分金的利益最大化问题》,其中讲的就是在Oracle中用SQL解海盗分金问题,本文中就尝试在PostgreSQL中解决该问题。这个问题是:有5个海盗分100个金币,通过抓阄决定了先后顺序,依次提出分赃方案,需得半数以上(含自己)同意才能通过,否则提方案的海盗就会被处死。现要求为第一个海盗提供最佳方案。


推荐专家
专家:王健(云栖社区昵称canno
目前在神州飞象做pg相关的运维工作,热爱pg,正在学习pg内核的相关的代码,欢迎大家和我讨论,一起共同成长

专家已经在社区发布了11篇技术博文

最新技术分享:

关注专家个人账号,掌握一手专家技术干货。

热门问答

视频回顾


更多交流沟通,请扫码加入钉钉PostgreSQL技术进阶群

b2fcd3c3bd017a76edbd5ceba043a3665ded28b9

网友评论

登录后评论
0/500
评论
萌萌怪兽
+ 关注