- 博客(10)
- 资源 (16)
- 收藏
- 关注
原创 pg数据库 实现merge
merge 语法用于将一张表的数据合并到另外一张表。根据某个唯一条件插入或更新数据。可以用于因为是在一个语句中实现了插入和更新的处理,所以看起来更加简洁、高效。oracle 和 pg新旧版本的 merge 实现方法
2024-09-05 18:09:23
429
原创 pg数据库 多种update方式
在使用 UPDATE 时,一些经验总结在执行大规模更新前,先在小范围数据上测试。每次更新前都要先查询看一下或者备份;大批量的数据,确保有适当的索引以提高性能(在 where 条件中使用索引列),另外尽量切分为小批量数据分批执行,减少锁竞争;表要定期执行 vaccum和analyze,做表定期维护;尽量避免频繁更新,可以从业务表设计上规避频繁更新情况;注意并发更新可能带来的问题,如死锁;如果有相互依赖的表更新操作,最好把他们放到一个事务里面提交,以保证数据一致性;
2024-09-05 14:19:27
1514
原创 pg数据库-创建 json
使用PostgreSQL 9.4.24 (Greenplum Database 6.3.0 build dev)云数据库版本。
2024-08-14 19:28:08
882
原创 pg数据库 性能隐形杀手表膨胀
表膨胀指的是数据表中存在大量无用或过时的数据,导致表的物理大小远超实际需要。这通常由频繁的数据更新、删除操作引起,数据库未能及时回收释放的空间。比如,公司一直保持着大约1000名员工。在5年的时间里,可能有500名新员工加入,500名老员工离职。理论上,表中应该只有1000条记录。但实际上,由于删除的记录占用的空间并没有立即被回收,表的物理大小可能会增长到存储1500条记录的大小。
2024-07-02 23:08:24
1497
原创 pg数据库 dblink插件
上面写法比较繁琐,要先创建 dblink连接才能使用,也可以写成下面这种方式,在一个语句中完成。这里用了 dblink 的方式,操作简单,具体如下。
2024-06-27 15:11:18
488
原创 pg数据库 递归查询 树形 with recursive
with 语法本身可以用来构建一个公共表达式,这个表达式可以当做临时表一样被查询。加上recursive关键字就可以引用它自己的输出,直到条件结束,这就实现了SQL语法中的递归函数。具体了解下 with recursive ... 语法使用,官方文档有个例子。在pg语法中使用with recursive语法满足上述场景。想要实现扁平化结构、深度查询、自身关联都可以使用这种结构,举例如下。
2024-06-27 12:05:12
510
1
原创 pg数据库 to_date格式问题
此时发现另外一个日期值2024-06-19 15:38:11却执行成功?实现方式是to_char(to_date(t.invoice_date,'yyyymmdd'),'yyyymmdd') AS invoice_date,执行报错[22008] ERROR: date/time field value out of range: "2023-12-29 16:17:01"A 表字段“发票日期”类型是varchar(65),需要转换到 B 表varchar(8)格式,字段格式要求是yyyymmdd。
2024-06-26 10:33:03
1484
1
api资源整理
2018-12-15
mongodb-win32-i386-2.6.0
2018-12-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人