关于面试中必问的跨表Join问题

herman 5年前 (2019-07-24) 3580浏览

一般的,像 MySQL 单表数据在 2000W 的时候就要考虑分库分表了。因为,在往上,查询效果下降的就比较明显了。 数据库拆分 然而,分表好分,分起来也很爽。但是分表之后的跨表 Join,或者合并查询就显得很头痛了。今天,我们一起来看...

高频率的Redis面试题分享

herman 5年前 (2019-07-18) 2482浏览

Redis 本质上是一个 Key-Value 类型的内存数据库,由于它有丰富的数据结构等特点,导致了使用它的速度,远远的超过了 Memcached。于是乎,现在面试问 Memcached 的很少,问 Redis 的则非常的多。今天抽个时间给大家整理...

图解B+树的插入过程

herman 5年前 (2019-07-10) 4713浏览

B+ 树在现代数据库中很常见,如果我们了解它,在工作中可能对性能优化会有更好的帮助! 最近我一直在思考 B+ 树的高度是由什么决定的。知道我了解了 B+ 树的插入过程,才有一种恍然大悟的感觉! 网上的一些资料杂乱无章,不同的数据库可能还...

从根上理解为什么说索引的离散型越高越好?

herman 5年前 (2019-07-09) 3042浏览

昨天的那篇文章中,我留了一个问题:“为什么说索引的离散型越高越好?”今天我们就一起从根上理解它! 还是那句话,任何问题,要知其然,还要知其所以然。希望通过这篇文章的讲解,你能明白两个问题。一个问题就是索引离散型;还有一个问题就是 like 查...

从根上理解SQL的like查询%在前为什么不走索引?

herman 5年前 (2019-07-08) 4570浏览

我再次的阐述一下,用索引和走索引不是一个意思! 其实每天都有人私信我,如果遇到一些好的问题,我会拿来单独写文章的。比如,昨天就有人问我,like 查询 % 在前为什么不走索引?不能人云亦云,我们应该从根上理解它,为什么要这样设计?为什么不走索...

MySQL备份文件.ibd、.frm、.MYD、.MYI的恢复教程

herman 5年前 (2019-06-17) 3778浏览

昨天,微信群里一位网友问到:“备份的 frm文件恢复,有的提示表不存在为什么”。关于这个问题,今天我们一起讨论一下! 根据网友的截图得知是他在恢复数据文件 .frm 时,报出的异常。error: 1146: Table ‘xxx&...

MySQL 二级索引在 RR 和 RC 隔离级别下的加锁情况总结

herman 5年前 (2019-06-16) 3208浏览

二级索引又称为非唯一索引。那么针对非唯一索引,如果查询命中的是二级索引,那么在 RR 和 RC 级别下,又会加哪些锁呢?今天我们再来一起看看! 还是之前两篇文章中的测试数据,我直接粘贴过来! CREATE TABLE `xttblog`...

MySQL 唯一索引在 RR 和 RC 隔离级别下的加锁情况总结

herman 5年前 (2019-06-16) 3322浏览

上一讲,我给大家解释了,主键索引 RR 和 RC 隔离级别下,精确查询(等值查询)、范围查询、空值查询的加锁情况。这一篇,我在给大家总结一下唯一索引在 RR 和 RC 隔离级别下的加锁情况吧! MySQL聚簇索引结构图 表还是上一篇文章...

MySQL 主键索引在 RR 和 RC 隔离级别下的加锁情况总结

herman 5年前 (2019-06-16) 2644浏览

最近群里不少人讨论了一些高质量的问题。我今天抽时间给大家总结一个 MySQL InnoDB 存储引擎各种不同 SQL 情况下,加行锁、间隙锁、next-key lock 做一个总结。如果有错误的地方,请大家指正! MySQL的所有锁 为...

EXPLAIN 和 SHOW TABLE STATUS LIKE 里返回的 rows 为什么不准确?

herman 5年前 (2019-06-13) 2980浏览

昨天,微信群里有一个网友问了这个问题:“SHOW TABLE STATUS LIKE 里返回的 rows 为什么不是准确的啊 ?” 今天,我就抽个时间简单的说一下!如果有错误的地方,请大家评论里留言指正! 首先,我们根据字面意思来看,r...

极客时间《SQL必知必会》购买返现24

herman 5年前 (2019-06-10) 2900浏览

身处互联网行业,SQL 可能是你需要掌握的核心技能之一。 最早的时候,SQL 作为一门查询数据库的语言,是程序员的必备技能,运维、开发、Web 以及数据等从业人员都需要用到 SQL,毕竟只有查询到正确的数据,才能有后面的数据加工、分析,在面试...

阿里的几个 MySQL 面试题,反正我是跪了!

herman 5年前 (2019-06-06) 4480浏览

测试是来表明 bug 的存在而不是不存在!同样的,面试是证明你有经验而不是你没有经验! 昨天,微信群里有人在总结学习过程,如果让学习更高效。有人说做笔记,有人说画思维脑图。。。而我则喜欢刷面试题。于是在群里有人提问 MySQL 的情况下,我找...

MySQL的隐式类型转换陷阱导致服务器频繁报警

herman 5年前 (2019-05-30) 1827浏览

气炸了,公众号又被举报了,心累。 那些举报我的小人,老子的世界不允许你的出现,带着你的虚伪滚出我的防线。 哎,气归气,生活还是要回归正常。 我给大家说一下,我日常的工作就是,写 bug,改 bug,背锅。这不昨天又背了一个锅。服务...

放弃函数,正确使用索引,我意外收获500工资

herman 5年前 (2019-05-28) 2406浏览

学习不是立竿见影的,而是潜移默化的。程序员的分水岭一般是在阅读源码,看书学习底层原理、底层实现机制上。我个人深有感触! 最近写了不少关于 MySQL 方面的知识,不知道大家喜欢不喜欢?如果感兴趣,我希望能找到一起学习的人!下面这本《高性能 M...