Mysql 数据库的批量插入或更新(Upsert)

2022-11-05
阅读 2 分钟
6.9k
这个问题已经困扰我一段时间了,对于大量数据的插入或更新,批量操作肯定比每条记录调用一次快得多,新数据可以用 insert 批量插入,老数据可以用 replace into 批量更新。但如果不知道数据是否存在(是否有唯一key和数据库中已有记录重复)想在一批数据库中,插入新记录,更新老记录怎么办?之前甚至想过封装一个函数,...
封面图

mysql海量数据表的归档

2022-09-13
阅读 2 分钟
2k
日常的业务系统,跟用户相关的操作数据,或者日志记录,往往会越来越多,而早期数据的查询需求没有那么强,就可以进行归档处理——作为冷数据保存,并从在线数据库中删除。
封面图

mysql 查询语句中的 order by 对索引的影响

2022-03-12
阅读 4 分钟
3.8k
Mysql从5.0以后,索引的使用就相当智能了,甚至还支持索引聚合(一次查询使用多条索引),但昨天一次业务查询中,一条where子句(例如 where user_id=1000)明明可以使用联合索引,把扫描行限制在数千范围内的select语句,竟然使用了全主键索引扫描,导致花费将近40s秒才返回结果集。更神奇的是,该where子句只有特定的数...
封面图

在Sqlalchemy的查询中新共享filter

2022-03-06
阅读 1 分钟
2k
使用Python做web开发,OR Mapping的部分,通常会用到Sqlalchemy,它是一个相对重量级的数据库封装层,提供了丰富的调用接口。
封面图