随笔分类 -  DB

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