随笔分类 - DB
数据库相关
摘要:背景: 因为每次对业务表的操作都需要记录创建人和修改人。因为不想每次set操作。所以写了一个拦截器实现MetaObjectHandler接口,并实现了insertFill方法。 @Overridepublic void insertFill(MetaObject metaObject) { Stri
阅读全文
摘要:一般使用悲观锁(for update),都是防止并发情况下对某个业务表数据同时进行修改操作。 这个时候该如何去优化呢? 一般悲观锁,如果按照索引去查询,锁住的是行级锁。一般是单个账户一行记录。 这个时候可以考虑将要批量的更改业务数据,按照用户分组,然后开启多线程去处理。 这样能让多个用户之间同时处理
阅读全文
摘要:数据读取的时候: 先查缓存,缓存查不到查数据库,然后把查到的结果放到缓存中。这些都基本上没有争议。 但是数据更新的时候: 到底是先更新数据库,还是再更新(or删除)缓存 or 先更新(or删除)缓存,再更新数据库。 一直存在很大的争议。几种实现方式都会出现数据一致性问题。 我就说说目前我们系统是怎么
阅读全文
摘要:两种情况下会区分大小写, 1、建表时,表的编码是utf8_bin(utf8_general_ci不会区分大小写),注意是表编码不是数据库编码。区分大小写与数据库编码无关。 2、建表后,可以通过 binary调整。语句如下: alter table `wl_testdx_bin`.`wlt_testD
阅读全文

浙公网安备 33010602011771号