随笔分类 - 数据库
摘要:背景:有个数百万的数据,需要尽快入库,使用了多线程处理,先查询数据库是否存在,存在则更新;否则插入; 问题:数据库相同key的数据,有时候插入多条。 解决办法: String lockKey =getLockKey(t); //根据md5算法,将多个列,生成一个md5Value synchroniz
阅读全文
摘要:1.mybatis-plus Wrappers相关Api 获取count和list QueryWrapper<Test111> time = Wrappers.<Test111>query().ge("time","2025-11-04 00:00:00"); long count = this.c
阅读全文
摘要:现场数据库报警,CPU一直居高不下,后来抓取数据库慢sql,发现主要有两种,1是大量的插入操作;2是触发器里的查询操作。 分析原因: 一般大量插入操作不会导致CPU居高不下,而触发器是相同表的插入之前触发,查询另外一张维表进行字段增强,所以导致插入超时;同时插入的表数据量很大(近7天,8个G的数据量
阅读全文
摘要:1. 某天现场发现问题,数据库服务器CPU一直居高不下,后来和研发一起按照如下步骤排查问题。 2. 收集现场任务日志。从任务日志中,发现 日志中: 解决办法: 在数据库连接串的url中 增加sockettimeout=30000解决 3. CPU还是居高不下,后来在对应数据库的客户端,执行一下sql
阅读全文
摘要:1.问题复现 数据库新建一个test表,里面包含id,和name字段 然后分别开两个窗口,分别开启事务,然后update name字段,不提交, 然后查看一下三个表,看是否出现锁表情况 innodb_trx ## 当前运行的所有事务innodb_locks ## 当前出现的锁innodb_lock_
阅读全文

浙公网安备 33010602011771号