
数据库
文章平均质量分 56
Michael曾
这个作者很懒,什么都没留下…
展开
-
分布式事务-理论篇
案例我自己负责的系统中有业务聚合层,暴露了第三方对接的创建接口,功能有两个:创建对应账户(还有一系列配置信息创建),账号和第三方账户绑定。这两个功能其实可以复用底层核心服务域的接口来完成。按照面向过程编程(很多时候就是面向过程),两者前后调用,在没有分布式事务的情况下,如果第二步“绑定第三方账号”失败,无法自动回滚第一步“创建账户”,而要通过手动回滚,逻辑复杂,因为创建附带初始化了很多数据;如果不回滚“创建账户”,第三方再次调用创建会报错“账号已存在”,或者调用免登接口因为无第三方账号映射无法免登。目前原创 2020-08-18 15:16:44 · 369 阅读 · 0 评论 -
mysql数据库笔记(二)(持续更新)
笔记1: 主键id自增,无法插入id=0的记录首先是测试的sql,mysql是阿里云rds,版本5.6.16create table t1(id int UNSIGNED AUTO_INCREMENT primary key, a int ) AUTO_INCREMENT=40;INSERT into t1(`id`,`a`) VALUES (0,0);INSERT into t1(`a`...原创 2019-08-07 20:26:08 · 209 阅读 · 0 评论 -
mongodb数据库笔记(慢慢更新)
笔记1:mongodb中date类型数据时区问题MongoDB中的Date类型数据只保存绝对时间值,不保存时区信息,所以java服务器的时间是东八区2018-11-22 8:00:00,那么存在mongodb中的时间是2018-11-22 0:00:00。从使用上来说是不会影响正常的时候,在作为查找条件时,java传入参数2018-11-22 8:00:00,可有查找到相应数据。使用可视化工具...原创 2019-03-21 11:20:39 · 255 阅读 · 0 评论 -
转载文章积累-数据库
浅入浅出』MySQL 和 InnoDB聚集索引和非聚集索引数据库秒级平滑扩容架构方案分库分表带来的问题分库分表需要考虑的问题及思路跨库分页解决方案MySQL InnoDB锁介绍及不同SQL语句分别加什么样的锁...转载 2019-02-19 11:15:50 · 172 阅读 · 0 评论 -
mybatis打印sql日志
虽然说打印日志会影响性能,但是有时候查问题不没有sql日志,很蛋疼,不知道传入的是什么值,查了什么数据,走了什么逻辑。这里记一下mybatis打印日志的设置方法。 参考链接:http://www.cnblogs.com/beiyeren/p/4196134.html1、在mybatis的配置文件中增加setting<settings> <se...原创 2017-08-24 22:48:35 · 1535 阅读 · 2 评论 -
mybatis判空
对于字符串 ibatis中有标签判空 mybatis中只有写<if test="companyName != null and companyName !=''" >判空 还可以引用外部方法<if test="@org.apache.commons.lang3.StringUtils@isNotBlank(companyName)">原创 2018-07-11 17:33:15 · 3660 阅读 · 0 评论 -
面试准备-数据库(持续更新)
1、mysql分页有什么优化https://blog.youkuaiyun.com/zzp448561636/article/details/689528612、悲观锁、乐观锁悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种思想。行锁,表锁,排他锁,共享锁等是数据库的锁机制悲观锁:获取锁之后再执行操作,提交事务后释放锁,实现上使用数据库提供的锁机制适合资源竞争比较激烈,或者锁代价小于回滚代价的...原创 2018-10-22 11:09:47 · 338 阅读 · 0 评论 -
数据库使用规范
根据以下参考文章,自己整理了一份数据库使用规范:https://blog.youkuaiyun.com/u012758088/article/details/77113122https://segmentfault.com/a/1190000012658563https://my.oschina.net/u/182501/blog/1595475《阿里巴巴Java开发手册》数据库基础设置必须使用...原创 2019-01-14 18:42:04 · 1426 阅读 · 0 评论 -
隔离级别+不可重复读+幻读
首先描述一下问题: ManagerA,ManagerB,ManagerC都用了@Transaction注解,A插入了数据,在A中通过线程池新建线程异步调用C,主线程中继续调用B,B会往数据库中插入数据,同时C中有查B中插入的数据,但是即使过来好久,在C中也查不到B中插入的数据。通过打断点,可以用数据库客户端能查到B插入的数据。问题分析: 首先分析事务的传播特性,@Transaction注解...原创 2018-07-04 18:48:18 · 1215 阅读 · 1 评论 -
mysql数据库笔记(一)
笔记1 最近线上碰见需要修改表的字符集,从utf8转为utfmb4(想要修改生效,前提是数据库本身的字符集要支持utf8mb4)。 网上搜到两个sql,测试下来,发现第一条sql是会修改原有的存量数据,但是第二条sql不会。ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;ALTER TABLE table_name CHAR...原创 2018-05-10 20:00:29 · 1006 阅读 · 0 评论 -
海量数据分页limit,解决思路
朋友提出一个sql语句优化的问题,limit N,M,在N数值较大,N很小的时候,例如limit 100000, 20的情况下,MySQL的性能很低。 然后上网搜索了一下相关的解决思路,怕自己忘记,在这里记录一下mysql的性能低是因为数据库要去扫描N+M条记录,然后又要放弃之前N条记录,开销很大 解决思略: 1、前端加缓存,或者其他方式,减少落到库的查询操作,例如某些系统中数据在搜索引...原创 2017-04-02 16:50:10 · 1465 阅读 · 0 评论