![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
★·········【MySQL】
Ryze丶
不积跬步无以至千里
展开
-
Mysql学习:一条SQL插入语句是如何执行的?
待执行语句:insert into t(id,k) values(id1,k1),(id2,k2); 假设k是索引,k1所在的数据页(page1)在内存(InnoDB bufferpool)中, k2所在的数据页(page2)不在内存中。执行流程:1.Page1在内存中,直接更新内存2.Page2不在内存中,就在内存的change buffer区域, 记录下“我要往Page 2插入一行”这个信息3.将上述两个动作记入redo log中内容来源:mysql45讲...转载 2020-06-10 22:16:13 · 591 阅读 · 0 评论 -
MySQL学习三:一些问题
MySQL如何执行一条select语句?MySQL如何执行一条update语句?MySQL如何执行一条insert语句?原创 2020-06-06 21:52:27 · 198 阅读 · 0 评论 -
Mysql学习:一条SQL查询语句是如何执行的?
待执行语句 :mysql> select * from T where ID=10;比如我们这个例子中的表T中, ID字段没有索引, 那么执行器的执行流程是这样的:1.调用InnoDB引擎接口取这个表的第一行, 判断ID值是不是10, 如果不是则跳过, 如果是则将这行存在结果集中;2.调用引擎接口取“下一行”, 重复相同的判断逻辑, 直到取到这个表的最后一行。3.执行器将上述遍历过程中所有满足条件的行组成的记录集作为结果集返回给客户端。对于有索引的表, 执行的逻辑也差不多。 第一次调转载 2020-06-05 22:18:46 · 193 阅读 · 0 评论 -
MySQL学习(一):存储引擎,锁,索引,常见查询问题及其优化
1、MySQL 相关存储引擎MySQL的存储引擎有很多种,其中常用的有两种,即MyIsAM和InnoDB,在这二者之间,又属InnoDB最为常用.1.1MyIsAMMyIsAM:不支持事务,不支持外键约束,索引文件和数据文件分开,这样在内存里可以缓存更多的索引,对查询的性能会更好,适用于那种少量的插入,大量查询的场景。报表系统,是最适合 MySQL 的 MyIsAM 存储引擎的,不需要事务...转载 2019-04-13 15:54:14 · 227 阅读 · 0 评论 -
Mysql数据类型
MySQL 数据类型MySQL中定义数据字段的类型对你数据库的优化是非常重要的。MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。1.数值类型MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)...原创 2019-06-03 10:53:48 · 157 阅读 · 0 评论 -
MySQL学习(二)
1.查看SQL执行频率show status like 'Com_______'; # 这些参数对于所有存储引擎的表操作都会进行累计。 show status like 'Innodb_rows_%'; # 这几个参数只是针对InnoDB 存储引擎的,累加的算法也略有不同。 2.定位低效率执行SQL1.慢查询日志 :: 通过慢查询日志定位那些执行效率较低的 SQL 语句;(详细讲解)2...原创 2019-06-25 23:00:32 · 199 阅读 · 0 评论