概述 前段时间在跟其他公司DBA交流时谈到了mysql跟PG之间在多表关联查询上的一些区别,相比之下mysql只有一种表连接类型:嵌套循环连接(nested-loop),不支持排序-合并连接(sort-merge join)与散列连接(hash join),而PG是都支持的,而且mysql是往简单化方向去设计的,如果多个表关联查询(超过3张表)效率上是比不上PG的. 下面也对mysql多表关联这个特性简单探讨下~ MySQL多表关联查询效率高点还是多次单表查询效率高? A,B两个表数据规模十几万…
引言 近期由于复习了一下mysql的内容,有些心得.随手讲其中一部分知识,都是一些烟哥自己平时工作的总结以及经验.大家看完,其实能避开很多坑.而且很多问题,都是面试中实打实会问到的! 比如 OK,具体有下面这些问题 1.为什么一定要设一个主键? 2.你们主键是用自增还是UUID? 3.主键为什么不推荐有业务含义? 4.表示枚举的字段为什么不用enum类型? 5.货币字段用什么类型? 6.时间字段用什么类型? 7.为什么不直接存储图片.音频.视频等大容量内容? 8.字段为什么要定义为NOT NUL…
作者:孤独烟 出处: http://rjzheng.cnblogs.com/ 综述 近期由于复习了一下MySQL的内容看到一篇比较好的文章,转载分享一下.大家看完,其实能避开很多坑.而且很多问题,都是面试中实打实会问到的! 具体有下面这些问题: 为什么一定要设一个主键? 你们主键是用自增还是UUID? 主键为什么不推荐有业务含义? 表示枚举的字段为什么不用enum类型? 货币字段用什么类型? 时间字段用什么类型? 为什么不直接存储图片.音频.视频等大容量内容? 字段为什么要定义为NOT NULL…
对于一对一,一对多的关联查询,Mybatis-Plus官方示例(mybatis-plus-sample-resultmap)在处理时,需要编写查询方法及配置resultMap,并且写SQL. 为了简化这种操作,可以自定义注解来简化.注解工具源码及jar包地址:https://github.com/dreamyoung/mprelation 注解工具使用公优缺点: 优点: 无需再写SQL及XML配置文件 无需在Service层及Mapper层写 getLinkById . selectLinkBy…
写这篇文章是因为之前有一次删库操作,需要进行批量删除数据,当时没有控制好删除速度,导致产生了主从延迟,出现了一点小事故. 今天我们就来看看为什么会产生主从延迟以及主从延迟如何处理等相关问题. 坐好了,准备发车! 图注:思维导图 主从常见架构 随着日益增长的访问量,单台数据库的应接能力已经捉襟见肘.因此采用主库写数据,从库读数据这种将读写分离开的主从架构便随之衍生了出来. 在生产环境中,常见的主从架构有很多种,在这里给大家介绍几种比较常见的架构模式. 主从复制原理 了解了主从的基本架构及相关配置后…
引言 之前在深入了解数据库理论的时候,了解到事务的不同隔离级别可能存在的问题.为了更好的理解所以在MySQL数据库中测试复现这些问题.关于脏读和不可重复读在相应的隔离级别下都很容易的复现了. 但是对于幻读,我发现在可重复读的隔离级别下没有出现,当时想到难道是MySQL对幻读做了什么处理? 测试: 创建一张测试用的表dept: CREATETABLE`dept`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(20)DEFAULTNULL,PRIMAR…
大家好,我是小林. 这次,来说说 MySQL 的锁,主要是 Q&A 的形式,看起来会比较轻松. 不多 BB 了,发车! 在 MySQL 里,根据加锁的范围,可以分为全局锁.表级锁和行锁三类. 全局锁 全局锁是怎么用的? 要使用全局锁,则要执行这条命: flush tables with read lock 执行后,整个数据库就处于只读状态了,这时其他线程执行以下操作,都会被阻塞: 对数据的增删查改操作,比如 select.insert.delete.update等语句: 对表结构的更改操作,比如…
大家好,我是小林. 我之前写过一篇数据库事务的文章「 事务.事务隔离级别和MVCC」,这篇我说过什么是幻读. 在这里插入图片描述 然后前几天有位读者跟我说,我这个幻读例子不是已经被「可重复读」隔离级别解决了吗?为什么还要有 next-key 呢? 他有这个质疑,是因为他做了这个实验. 实验的数据库表 t_stu 如下,其中 id 为主键. 在这里插入图片描述然后在可重复读隔离级别下,有两个事务的执行顺序如下: 在这里插入图片描述 从这个实验结果可以看到,即使事务 B 中途插入了一条记录,事务 A…
文章篇幅较长,但是包含了SpringBoot 可执行jar包从头到尾的原理,请读者耐心观看.同时文章是基于 SpringBoot-2.1.3进行分析.涉及的知识点主要包括Maven的生命周期以及自定义插件,JDK提供关于jar包的工具类以及Springboot如何扩展,最后是自定义类加载器. spring-boot-maven-plugin SpringBoot 的可执行jar包又称 fat jar ,是包含所有第三方依赖的 jar 包,jar 包中嵌入了除 java 虚拟机以外的所有依赖,是一…
内容时参考一个博主的,内容写的很好,就忍不住拿过来了,如遇到,请见谅 参考连接:https://www.cnblogs.com/rjzheng/p/11174714.html…