强人随笔PostgreSQL LIKE的那些事

笔者前段时间在写一个个人自用的项目时候,遇到一个需求,要从一个6百多万数量的表中,使用like ‘%keyword%’这种语法来找到需要的结果,虽然默认情况下,也不是不能接受(SSD存储+并行查询让这个事情实际的执行效率比想象中高得多),但毕竟对资源的瞬间消耗很大,让家里的小NAS有点不堪重负,因此对PostgreSQL对like的处理上,进行了诸多调查,来让这个事情的处理,可以看起来更漂亮些。

wangliyun 发布于 2020-03-12 08:00:48
评论:0   浏览:1024

强人随笔阿里云PostgreSQL案例精选2 - 图像识别、人脸识别、相似特征检索、相似人群圈选

人脸识别, 人脸支付, 刷脸打卡, 图像识别等 例如, 智能楼宇, 根据人脸识别到是本大楼的员工时, 自动进行打卡, 自动按工作楼层设定电梯. 智能酒店, 根据人脸识别, 自动入住, 根据会员等级自动对接专属服务等等. 电商, 图像识别, 搜索类似商品. 教育, 根据人脸特征, 记录学生的听课状态(打盹, 走神, 小动作, 举手等) 交通, 违规时自动识别驾驶员. 新零售, 根据人脸识别对应后台的会员系统, 做到: 到店提醒, 导购引导, 定制化运营等. 公共交通, 刷脸支付. 游戏, 虚拟现实相关游戏.

wangliyun 发布于 2020-03-06 08:00:51
评论:0   浏览:1120

强人随笔PostgreSQL 性能提升之并行创建索引

PostgreSQL新版本即将发布,因此是时候看看PostgreSQL11提供的最重要新功能之一:并行创建索引(注:原博客发表于2018年)。多年以来,各种商业数据库供应商已经提供该功能,因此很高兴PostgreSQL成为该精英俱乐部的一员,它提供了多核索引创建能力,这将极大的改善大型数据库部署的可用性。

wangliyun 发布于 2020-03-04 08:00:00
评论:0   浏览:1095

强人随笔PostgreSQL中并行查询代价估算方法

在PostgresSQL9.6中引入了并行查询,从那之后这一功能不断地得到扩展。在PostgreSQL11和PostgreSQL12中,数据库引擎增加了更多的功能。然而,仍然有一些与并行查询相关的问题,这些问题经常出现在培训过程中,因此有必要澄清说明一下。

wangliyun 发布于 2020-02-28 08:00:00
评论:0   浏览:869

强人随笔阿里云PostgreSQL案例精选1 - 实时精准营销、人群圈选

根据目标群体的特征, 快速提取目标群体. 例如, 在电商行业中, 商家在搞运营活动前, 根据活动的目标群体的特征, 圈选出一批目标用户进行广告推送或活动条件的命中. 在游戏行业中, 运营经常会根据游戏玩家的某些特征圈选, 针对性的发放大礼包, 激活游戏活跃度. 在教育行业中, 根据学生不同的特征, 推送不同的有针对性的习题, 提升学生的弱项. 在搜索、门户、视频网站等业务中, 根据用户的关注热点, 近期行为的不同, 根据群体推送内容.

wangliyun 发布于 2020-02-25 08:00:34
评论:0   浏览:1023

强人随笔别裁员!别裁员!别裁员! 一招降低IT数据库成本

2020疫情无情,诸多企业因此受挫,特别中小企业,甚至到了要裁员的地步, 但是人才是最宝贵的,裁员一定是下下策,如何渡过这个难关,疫情带给我们什么反思? 开源节流有新方法,通常数据库在企业IT支出中的占比将近一半,降低数据库成本对降低企业IT成本效果明显,但是一般企业没有专业DBA,很难在这方面下手,不过没关系,有了云厂商,一切变得简单。借助阿里云我们找到了可以为企业IT节省至少一倍成本的方法.

wangliyun 发布于 2020-02-19 08:00:04
评论:0   浏览:1048

强人随笔使用ScaleFlux公司的csd2000卡大幅提升PostgreSQL性能

本文详细讲解了把fillfactor参数调整到70%时,使用csd2000的透明压缩功能让实际占用空间很少增长的情况下(增长8%),让pgbench测试出来的性能提升近40%。同时使用了csd2000的透明压缩功能让空间占用率到达了原空间的六分之一,大大的节省了空间。

wangliyun 发布于 2020-02-06 08:00:00
评论:0   浏览:1360

强人随笔PostgreSQL绑定变量窥视

Oracle DBA都知道,绑定变量窥视功能是Oracle数据库的一个特性,自ORACLE9i版本开始引入,是可以通过参数数“_optim_peek_user_binds”来控制是否开启,默认是开启,即为TRUE。这就意味着,第一次以变量的方式执行某类SQL时,会生成第一个执行计划,后续执行该类SQL语句,即使变量的传入值不同,但因变量窥视的作用,依然会沿用第一次SQL语句执行时生成的执行计划,这种特性非常适用于业务表数据分布比较均匀的场景,执行计划比较稳定。但对于数据分布严重倾斜的业务表,可能会出现错误的执行计划,在极端情况下,会引发严重的性能问题。

wangliyun 发布于 2020-02-04 08:00:00
评论:0   浏览:993

强人随笔PostgreSQL Autovacuum拾遗

本文介绍了PostgreSQL的Autovacuum机制中容易出现误解的地方,包括Autovacuum的调度机制、Autovacuum的监控以及相关的数据字典和数据库参数等。

wangliyun 发布于 2020-01-21 08:00:00
评论:0   浏览:981

强人随笔TBase应用接入指南(下篇)

版本号--V2.17 更新日期:2019-11-13

wangliyun 发布于 2019-12-17 08:01:22
评论:0   浏览:1124

强人随笔PostgreSQL的元组、页面结构及索引查找原理

我们知道postgresql数据库通过数据多版本实现mvcc,pg又没有undo段,老版本的数据元组直接存放在数据页面中,这样带来的问题就是旧元组需要不断地进行清理以释放空间,这也是数据库膨胀的根本原因。本文简单介绍一下postgresql数据库的元组、页面的结构以及索引查找流程。

wangliyun 发布于 2019-12-12 08:01:18
评论:0   浏览:1660

强人随笔TBase应用接入指南(上篇)

版本号--V2.17 更新日期:2019-11-13

wangliyun 发布于 2019-12-10 08:01:13
评论:0   浏览:1229

强人随笔TBase 快速入门

TBase是一个提供写可靠性,多主节点数据同步的关系数据库集群平台。你可以将TBase配置一台或者 多台主机上,TBase数据存储在多台物理主机上面。数据表的存储有两种方式, 分别是distributed或者replicated ,当向TBase发送查询 SQL时,TBase会自动向数据节点发出查询语句并获取最终结果。

wangliyun 发布于 2019-12-05 08:03:57
评论:0   浏览:4218

强人随笔MySQL和PostgreSQL在多表连接算法上的差异

我们知道mysql没有hash join,也没有merge join,所以在连接的时候只有一种算法nest loop join,nl join使用驱动表的结果集作为外表到内表中查找每一条记录,如果有索引,就会走索引扫描,没有索引就会全表扫。

wangliyun 发布于 2019-11-05 08:02:02
评论:0   浏览:1983

强人随笔PostgreSQL 12 哪些方面进行了性能提升?

PostgreSQL 12,“世界上最先进的开源关系型数据库”的最新版本,如果没有其他问题,将在接下来的几周时间内正式发布。该项目每年新增大量新数据库功能,坦白地说,这一点非常令人惊讶。同时也是我参与PostgreSQL社区的主要原因之一。

wangliyun 发布于 2019-10-28 08:08:54
评论:0   浏览:2797

强人随笔PostgreSQL 12 新特性解读之三| 分区表DML性能大辐提升

PostgreSQL 的分区表个人认为是 PostgreSQL 比较薄弱的环节,老版本的分区表通过继承表和触发器实现,甚至需要逐个对子表进行索引创建,使用上不方便。 10 版本和 11 版本在分区表的功能上进行了大幅完善,但是当分区表分区数量较大时,分区表的DML性能并不好。 PostgreSQL 12 版本的分区表的性能得到了大辐提升,尤其当分区表的分区数量非常多时,DML 性能提升更加明显。

wangliyun 发布于 2019-10-17 08:12:52
评论:0   浏览:2230

强人随笔对索引Include子句的深入分析

像微软的SQL Server,IBM的DB2,包括从11发行版本开始的PostgreSQL数据库,在创建索引的语句中都支持include子句。介绍PostgreSQL中的这个特性是我写这篇长文介绍include子句的主要目的。 在详细介绍之前,让我们先简单回顾下(非聚集)B树索引的工作原理以及强大的仅索引扫描(index-only scan)。

wangliyun 发布于 2019-10-11 08:08:43
评论:0   浏览:1784

强人随笔PostgreSQL死锁案例分析(二)

接前一篇文章,这里继续介绍在工作中遇到的一个死锁案例。经过对业务模型的抽取分析(后面会介绍表结构和数据,业务模型来源于开源组件的实际业务),模拟得到的死锁日志信息如下:

wangliyun 发布于 2019-09-27 08:08:14
评论:0   浏览:1805

强人随笔IP地址段查询深度优化案例

对于IP地址段查询的场景,PostgreSQL的ip4r插件是一个性能和通用性都比较不错的一个方案,但用户不一定方便使用ip4r,比如在未安装ip4r的公有云RDS上或者使用PostgreSQL以外的数据库

wangliyun 发布于 2019-09-09 08:06:00
评论:0   浏览:1236

强人随笔PostgreSQL 12 新特性解读之二| CTE支持Inlined With Queries

PostgreSQL 的 CTE( common table expressions ) 支持较复杂的查询,比如递归查询等场景, 12 版本之前 CTE 的 WITH 语句都是直接物化的,也就是说 WITH 语句执行一次并保持到一个类似的临时表中,供 WITH 语句外层的SQL引用,当 INSERT/UPDATE/DELETE 做CTE的 WITH 语句时是非常恰当的。

wangliyun 发布于 2019-09-06 08:16:09
评论:0   浏览:1465
© 2010 PostgreSQL中文社区