![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql持久层
北半球第一帅
这个作者很懒,什么都没留下…
展开
-
Mysql的联合索引最左匹配原则小记
mysql的联合索引,也称为组合索引,指的是建立一个索引的时候选择多个字段。可能我们都听说过联合索引的最左匹配原则,今天我们就这个主题实战讨论一下。使用工具:navicat。创建表:我不喜欢上传建表语句,那样不直观。创建联合索引,ok,准备工作完成,让我们以各种查询姿势来观察下对应的查询计划。1select * 系列 select * 系列需要回表操作...原创 2020-03-25 09:49:36 · 254 阅读 · 0 评论 -
Windows上模拟MySQL主从设置,读写分离
对于互联网架构来说,MySQL读写分离是很重要的。所以今天我决定在我自己的电脑上模拟下。我一开始本以为可以用一个MySQL服务,建立两个数据库来模拟。但是网上的教程都是修改MySQL的配置文件,所以我只好另外又安装了个MySQL。为了避免不必要的麻烦,我们尽量保证MySQL版本一致。我第一个MySQL是msi安装包安装的,在网上我下载的第二个MySQL是压缩包形式的。所以,我们从配置这种解...原创 2020-03-06 16:16:18 · 223 阅读 · 1 评论 -
Mysql的隐式类型转换
注意,数字类型的索引,查询时可以加双引号,也可以不加,都会使用索引但是字符类型的索引,查询时必须加双引号,否则不会使用到索引所以,尽量不要发生类型隐式转换。...原创 2019-12-04 13:51:15 · 149 阅读 · 0 评论 -
Mysql查询记录加上固定长度的编号,right函数和concat函数的结合使用。
现在有这么个需求,mysql里面有了已经排序好的编号,1,2,3,4,5.....1100,不超过6位数。我需要做的是把这些编号变成固定长度的形式。比如11号,变成固定长度为6,就是前面填充4个0————000011;以前我都是用程序代码自己写的,不但效率低,还费脑子,需要判断长度,再去决定前面填充几个0.后来接触到mysql的right(x,y)函数,接收两个参数x和y。意思是返回查...原创 2019-11-28 14:56:05 · 627 阅读 · 0 评论 -
Mybatis一级缓存导致分布式环境下的查询脏数据
Mybatis一级缓存,也称本地缓存,默认是SqlSession级别的缓存。在一次程序与数据库的会话(Sqlsession)中,mybatis会维护一个以hashmap为存储结构的一级缓存,在这个会话中,只要在两次相同条件的查询中间,这个会话里没有出现增删改的操作,那么Mybatis会在第二次查询时候在缓存中将这个结果返回,导致两次查询的返回结果对象其实是一个,用“==”比较结果为true...原创 2018-07-25 09:24:38 · 9378 阅读 · 8 评论 -
记一次mysql死锁问题
这是我第一次遇到mysql死锁问题,通过这次死锁问题的分析,我对数据库的锁和有了更详细的认识。漫漫长路,一点点走。这是我的demo复现,出现的原因是在事务里面循环更新数据,注意,此时我的mysql默认事务隔离级别是提交读,且name和sex添加了组合索引。public void test() { User user = new User("a", "a", "aa"); ...原创 2019-08-30 14:26:59 · 233 阅读 · 0 评论