
数据库
文章平均质量分 57
数据库相关
夏花生
欢迎交流
展开
-
ShardingJDBC 在查询的时候如果没有分表键,会如何处理?
ShardingJDBC、分库分表原创 2024-12-10 23:08:50 · 609 阅读 · 0 评论 -
数据库连接池满排查过程
虽然乐观锁是不需要加锁的,通过CAS的方式进行无锁并发控制进行更新的。比如本来需要100个并发都给用户增加积分,那么改成10分钟更新一次,一次就把10分钟中内的所有需要增加的积分汇总之后一次更新用户积分表即可。其中,第2个和第4个方案,存在一定的延迟性,会把实时更新变更异步更新,存在一定的数据实时性问题。而这个排队的过程就会占用数据库链接,一旦排队的事务比较多的时候,就会导致数据库连接被耗尽。然后去排查了一下SQL耗时,发现有大量的耗时SQL,并且执行耗时和锁耗时差不多是相等的。原创 2024-12-13 21:30:28 · 175 阅读 · 0 评论 -
MySQL的热点数据更新
当开启热点更新自动探测时,系统会自动探测是否有单行的热点更新,如果有,则会让大量的并发 update 排队执行,以减少大量行锁造成的并发性能下降。然后,你可以每隔10分钟(为了避免出现时间差导致数据丢失,可以时间频率更短一点,比如5分钟)运行一个 SQL 脚本或使用计划任务(如使用定时任务,xxl-job等),来汇总 pending_points 表中的积分并更新到 users 表中。1、库存拆分,把一个大的库存拆分成多个小库存,拆分后,一次扣减动作就可以分散到不同的库、表中进行,降低锁粒度提升并发。原创 2024-12-16 11:13:15 · 560 阅读 · 0 评论