随笔分类 -  数据库系列

摘要:引言 本文预计分为两个部分: (1)联合索引部分的基础知识 在这个部分,我们温习一下联合索引的基础 (2)联合索引部分的实战题 在这个部分,列举几个我认为算是实战中的代表题,挑出来说说。 正文 基础 讲联合索引,一定要扯最左匹配!放心,我不扯有的没的,几句话懂个大概就行! 最左匹配 所谓最左原则指的 阅读全文
posted @ 2020-03-24 10:42 孤独烟 阅读(30131) 评论(21) 推荐(38) 编辑
摘要:引言 好久没写文章了,今天回来重操旧业。毕竟现在对后端开发的要求越来越高,大家要做好各种准备。 因此,大家有可能遇到如下问题 为什么Mysql中Innodb的索引结构采取B+树? 回答这个问题时,给自己留一条后路,不要把B树喷的一文不值。因为网上有些答案是说,B树不适合做文件存储系统的索引结构。如果 阅读全文
posted @ 2020-02-16 14:13 孤独烟 阅读(19236) 评论(19) 推荐(41) 编辑
摘要:引言 近期由于复习了一下mysql的内容,有些心得。随手讲其中一部分知识,都是一些烟哥自己平时工作的总结以及经验。大家看完,其实能避开很多坑。而且很多问题,都是面试中实打实会问到的! 比如 OK,具体有下面这些问题 1、为什么一定要设一个主键? 2、你们主键是用自增还是UUID? 3、主键为什么不推 阅读全文
posted @ 2019-07-12 10:54 孤独烟 阅读(6269) 评论(13) 推荐(21) 编辑
摘要:引言 照例,我们先来一个场景~ 面试官:"知道事务的四大特性么?" 你:"懂,ACID嘛,原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)!" 面试官:"你们是用mysql数据库吧,能简单说说innodb中怎么实现这四大特性 阅读全文
posted @ 2019-05-10 09:20 孤独烟 阅读(13016) 评论(12) 推荐(30) 编辑
摘要:引言 在面试中,大家应该经历过如下场景 面试官:"用过mysql吧,你们是用自增主键还是UUID?" 你:"用的是自增主键" 面试官:"为什么是自增主键?" 你:"因为采用自增主键,数据在物理结构上是顺序存储,性能最好,blabla..." 面试官:"那自增主键达到最大值了,用完了怎么办?" 你:" 阅读全文
posted @ 2019-04-09 09:20 孤独烟 阅读(21008) 评论(42) 推荐(54) 编辑
摘要:SQL执行流程图如下 本文改编自《高性能Mysql》,烟哥用小说的形式来讲这个内容。 序章 自我介绍 我是一条sql,就是一条长长的字符串,不要问我长什么样,因为我比较傲娇。 额~~不是我不说啊,因为细说起来,我可以细分为DML(Update、Insert、Delete),DDL(表结构修改),DC 阅读全文
posted @ 2019-04-08 10:30 孤独烟 阅读(1975) 评论(7) 推荐(12) 编辑
摘要:摘要 企业千万家,靠谱没几家。 社招选错家,亲人两行泪。 祝大家金三银四跳槽顺利! 引言 开始我们的内容,相信大家一定遇到过下面的一个面试场景 面试官:“讲讲mysql有几个事务隔离级别?” 你:“读未提交,读已提交,可重复读,串行化四个!默认是可重复读” 面试官:“为什么mysql选可重复读作为默 阅读全文
posted @ 2019-03-11 14:00 孤独烟 阅读(17568) 评论(14) 推荐(66) 编辑
摘要:全新角度来说隔离级别,必看神作! 阅读全文
posted @ 2018-11-14 15:39 孤独烟 阅读(4735) 评论(8) 推荐(24) 编辑
摘要:引言 大家在面试中有没遇到面试官问你下面六句Sql的区别呢 select from table where id = ? select from table where id 意向锁存在的目的? OK,这里说一下意向锁存在的目的。假设事务T1,用X锁来锁住了表上的几条记录,那么此时表上存在IX锁,即 阅读全文
posted @ 2018-11-13 10:50 孤独烟 阅读(47485) 评论(32) 推荐(86) 编辑
摘要:引言 回想四年前,我在学习mysql的索引这块的时候,老师在讲索引的时候,是像下面这么说的 索引就像一本书的目录。而当用户通过索引查找数据时,就好比用户通过目录查询某章节的某个知识点。这样就帮助用户有效地提高了查找速度。所以,使用索引可以有效地提高数据库系统的整体性能。 嗯,这么说其实也对。但是呢, 阅读全文
posted @ 2018-11-06 15:57 孤独烟 阅读(21020) 评论(18) 推荐(22) 编辑
摘要:引言 其实这个话题是老生常谈,很多人在工作中确实也不会使用外键。包括在阿里的JAVA规范中也有下面这一条 【强制】不得使用外键与级联,一切外键概念必须在应用层解决。 但是呢,询问他们原因,大多是这么回答的 每次做DELETE 或者UPDATE都必须考虑外键约束,会导致开发的时候很痛苦,测试数据极为不 阅读全文
posted @ 2018-11-05 09:10 孤独烟 阅读(18392) 评论(12) 推荐(19) 编辑
摘要:讲如何正确的select 阅读全文
posted @ 2018-11-04 01:39 孤独烟 阅读(10507) 评论(13) 推荐(12) 编辑
摘要:一篇讲述如何用JAVA解析binlog的文章 阅读全文
posted @ 2018-10-05 20:11 孤独烟 阅读(9334) 评论(7) 推荐(10) 编辑
摘要:引言 为什么写这篇文章? 大家当年在学MySQL的时候,为了能够迅速就业,一般是学习一下MySQL的基本语法,差不多就出山找工作了。水平稍微好一点的童鞋呢还会懂一点存储过程的编写,又或者是懂一点索引的创建和使用。但是呢,基本上大家都忽略了对底层知识的学习。为什么呢?因为工作中很少用到嘛。然后呢,市面 阅读全文
posted @ 2018-09-29 08:16 孤独烟 阅读(32531) 评论(15) 推荐(40) 编辑
摘要:引言 大家在面试的时候,是否遭遇过,面试官询问 你们是如何进行数据库优化的? 那这个问题应该怎么答呢?其实写这个题材的原因是我这几天看到各公众号转的一篇数据库调优的知识(不上链接了),我就稍微翻了几下,上面动不动就来说要对数据库进行 水平拆分 ,我就想反问各位读者,你们几个人经历过 水平拆分 ?现在 阅读全文
posted @ 2018-09-10 15:15 孤独烟 阅读(5044) 评论(7) 推荐(20) 编辑
摘要:最近忙着搬家,所以停更了一段时间,今天给大家补上。 引言 我们先来讲一个段子 面试官:“有并发的经验没?” 应聘者:“有一点。” 面试官:“那你们为了处理并发,做了哪些优化?” 应聘者:“前后端分离啊,限流啊,分库分表啊。。” 面试官:"谈谈分库分表吧?" 应聘者:“bala。bala。bala。。 阅读全文
posted @ 2018-09-06 13:33 孤独烟 阅读(9862) 评论(25) 推荐(53) 编辑
摘要:小漫画 来,先来看小漫画陶冶一下情操 OK,这里就说了。假设,你有一个表 ,如果你直接进行下面的命令 这个时候所有的mysql的相关进程都会停止,直到 结束,mysql才会恢复执行。出现这个情况的原因就是因为,在 的时候, 维护了一个全局锁, 完毕锁就释放了。 这意味着,如果在白天,访问量非常大的时 阅读全文
posted @ 2018-08-18 14:03 孤独烟 阅读(10633) 评论(3) 推荐(11) 编辑