背景
经历了前面两篇的介绍MySQL索引,相信大家也可以很清晰的认识到索引。这一节想分享一下在MySQL中给字段加了索引,但是查询的时候却不生效索引的情况,让更多的开发者可以少踩坑,接下来直接进入正文~~~
记录学习编程路上的点点滴滴和总结大学学习过的重要知识
经历了前面两篇的介绍MySQL索引,相信大家也可以很清晰的认识到索引。这一节想分享一下在MySQL中给字段加了索引,但是查询的时候却不生效索引的情况,让更多的开发者可以少踩坑,接下来直接进入正文~~~
到这一篇文章,我就已经默认你阅读完了前面的MySQL文章。你可能已经知道了索引本质就是一种数据结构,来加快查询效率的。但是索引要怎么设计呢?这就是这一篇文章的目的。
网上有很多博客会讲到最佳实践,比如单表索引数不能超过5个,联合索引中的字段不能超过5个等等。我只能说这些都是扯淡,任何实践都要放在特定的场景才能生效,所以接下来我们来聊聊索引设计吧。
想象一下,你去图书馆找到一本你喜欢看的书,然后你想要快速知道这本书讲了什么内容,有哪些章节,都是通过书开头的“索引”部分,如果想要在一本书中找到某个特定主题,一般会先看书的“索引”,找到对应的页码。
在MySQL中,存储引擎用类似的方法使用索引,其先在索引中找到对应值,然后根据匹配的索引记录找到对应的数据行。接下来就来讲讲MySQL的索引吧。
大学期间就自学了MySQL数据库,懂得了怎么写简单的SQL查询数据,怎么多表查询。我还一直认为MySQL也不难呀,直到工作了才知道,原来我还是太年轻了~~~
工作期间,写一个简单的CRUD就会碰到上千万的数据量,这个时候简单的select *就会花费大量的时间在查询上,这是不可容忍的。加上我公司的DBA会开启慢查询日志,还有连接接口报警,我才发现只会简单的MySQL是远远不够的,通过看书和学习总结,于是有了这篇博客。
都知道《深入理解Java虚拟机》这本书对Java开发是非常重要的,几乎达到了一个必读的重要性。但是在校期间一直看不深入,就停留在最表面的意思,无法深入理解。经历了几个月的码农生活,再次回过头来看这本书的时候,我发现了许多以前不懂的东西都慢慢看懂了,所以借此机会写下这一篇Java GC。
分布式锁是控制分布式系统或不同系统之间共同访问共享资源的一种锁实现,如果不同的系统或同一个系统的不同主机之间共享了某个资源时,往往需要互斥来防止彼此干扰来保证一致性。
Redis是完全开源的,遵守BSD协议,是一个高性能的key-value数据库。
Redis与其他key-value缓存产品有以下三个特点:
从校园到企业工作也有一个多月的时间了,经常也是跟MySQL打交道,正好梳理一下MySQL的隔离级别。这个也是面试的时候经常问到的一个知识点,我就来分享一下我的理解。
PS:MySQL事务都是指在InnoDB引擎下,MyISAM引擎不支持事务。
现在是2020年7月下旬,应该很多互联网大厂开始了他们的秋招提前批吧。然而很多大四学生要参加提前批的话需要有扎实的数据结构基础和刷算法题的能力之外,到了面试环节,面试官比较喜欢考察计算机网络和操作系统的原理,今天就让我来分享我当初校招遇到的常见操作系统的面试题。
现在是2020年7月中旬,应该很多互联网大厂开始了他们的秋招提前批吧。然而很多大四学生要参加提前批的话需要有扎实的数据结构基础和刷算法题的能力之外,到了面试环节,面试官比较喜欢考察计算机网络和操作系统的原理,今天就让我来分享我当初校招遇到的常见计算机网络的面试题。