【译】Boyer-Moore 多数派投票算法
Boyer-Moore 投票算法是流行的最优算法之一,它用于在给定元素中找出出现次数超过 N/2
的元素。它需要对给定元素进行 2 次遍历,其时间复杂度为 O(N)
,空间复杂度为 O(1)
。
Boyer-Moore 投票算法是流行的最优算法之一,它用于在给定元素中找出出现次数超过 N/2
的元素。它需要对给定元素进行 2 次遍历,其时间复杂度为 O(N)
,空间复杂度为 O(1)
。
强化 PostgreSQL 变得越来越重要。如今,安全是王道,人们想知道如何确保 PostgreSQL 的安全。我们中的一些人可能还记得近年来发生在 MongoDB 身上的事情,我们当然希望在 PostgreSQL 世界中避免类似的安全问题。MongoDB 的遭遇实际上是令人震惊的:数以千计的数据库因为糟糕的默认安全设置而被勒索–这绝对是一场噩梦,不仅大大损害了 MongoDB 的声誉,也损害了整个行业的声誉。PostgreSQL 人员尽其所能避免在我们的生态系统中重复出现这种情况。
当有人在谈论您的公司时,标签 #ransomware
(勒索软件)并不是您想要看到的。为了避免一些最常见的问题,我们编制了一个 “PostgreSQL 最佳安全问题”,它可以作为改进设置的 12 个步骤的指南。
本文简要记录一下如何使用 Go 语言来访问达梦数据库。达梦数据库随安装包提供了 Go 语言的 driver,目前该 driver 仅支持 Windows 和 Linux 操作系统,不支持 MacOS 系统。
在 PostgreSQL 数据库中有三种 JOIN(连接)策略,它们的工作方式截然不同。如果 PostgreSQL 选择了错误的策略,查询性能会受到很大的影响。这篇文章解释了这些连接策略,如何通过索引来支持它们,它们存在什么问题,以及如何调整连接从而获得更好的性能。
LATERAL
连接是 PostgreSQL 和其他关系型数据库(如 Oracle、DB2 和 MS SQL)中鲜为人知的功能之一。然而,LATERAL
连接是一个非常有用的功能,本文将带你看看用它们能完成什么有意义的事情。
在 SQL 和 PostgreSQL 社区中,大多数人都使用过许多数据库引擎提供的 LIMIT
子句。然而,很多人不知道的是,LIMIT/OFFSET
是不符合标准的,因此不能移植。处理 LIMIT 的正确方法基本上是使用 SELECT ... FETCH FIRST ROWS
。然而,还有更多的东西没有被发现。
我在 Emacs 中使用 gtags (GNU global source code tag system) 来作为代码导航的基本工具,它默认标记根目录及其子目录,但是有一些子目录其实我并不想要被标记。本文简要记录一下如何告知 gtags 忽略某些目录或文件。
本文结合官方文档整理记录了一下关于 MongoDB 中分片的概念以及如何搭建一个分片集群。
本文简要记录一下如何将 Oracle 数据库中的 sys_connect_by_path()
函数迁移到 PostgreSQL 数据库中。
函数 sys_connect_by_path()
通常是与 Oracle 中的 connect by
子句一起使用的,而 connect by
子句转换到 PostgreSQL 中时通常是使用 WITH RECUSIVE
来实现。