03 2020 档案
摘要:一、前言 本文基于mysql8.0的innodb测试,建表在做对应的优化策略测试时记得加索引,由于文中太多查询例子不一一针对建立索引了,只挑几个建索引举例。 CREATE TABLE `user` ( `id` int(11) NOT NULL, `name` varchar(20) DEFAULT
阅读全文
摘要:一、前言 本文主要解释以下几个问题: 1.什么是回表查询? 2.什么是索引覆盖? 3.如何实现索引覆盖? 4.那些场景可以利用索引覆盖优化sql? 本文实验基于8.0版本innodb 二、回表查询 1.建表 CREATE TABLE `user` ( `id` int(11) NOT NULL, `
阅读全文
摘要:一、前言 1.Mysql5.5版本开始Innodb是默认引擎(之前是MyISAM),本文仅针对5.5之后版本做比较,先会给出结论最后给出选择。 2.聚集索引:索引值顺序和数据存储顺序一致。 3.非聚集索引:索引值顺序和数据存储顺序不一致。 二、区别 1.InnoDB支持事务,MyISAM不支持。 2
阅读全文
摘要:一、前言 1.ReentrantLock是可重入锁,意味着一个线程可以进入任何一个该线程已拥有的锁同步着的代码块,实现了Lock接口,通过Condition精细控制多线程休眠唤醒。 2.Lock接口 //获取锁,获取不到lock就不罢休,不可被打断,即使当前线程被中断,线程也一直阻塞,直到拿到锁,
阅读全文