这篇笔记主要记录mysql的基础架构,一条查询语句是如何执行的. 比如,在我们从student表中查询一个id=2的信息 select * from student where id=2; 在解释这条语句执行流程之前,我们看看mysql的基础架构. 图来自极客时间的mysql实践,该图是描述的是MySQL的逻辑架构. server层包括连接器.查询缓存.分析器.优化器.执行器涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数所有跨存储引擎的功能都在这一层实现,比如存储过程.触发器.视等.…
python 3 mysql sql逻辑查询语句执行顺序 一 .SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY <group_by_list> HAVING <havin…
mysql explain 查看sql语句执行计划概述 id:选择标识符select_type:表示查询的类型.table:输出结果集的表partitions:匹配的分区type:表示表的连接类型possible_keys:表示查询时,可能使用的索引key:表示实际使用的索引key_len:索引字段的长度ref:列与索引的比较rows:扫描出的行数(估算的行数)filtered:按表条件过滤的行百分比Extra:执行情况的描述和说明…
01. mysql基础架构 SQL语句是如何执行的 学习一下mysql的基础架构,从一条sql语句是如何执行的来学习. 一般我们写一条查询语句类似下面这样: select user,password from mysql.user; 这样就可以返回一个结果,但却不知这条语句的内部执行流程. 如下是mysql的逻辑架构图: Mysql可以分为Server层和存储引擎层二部分. Server层有连接器/缓存/分析器/优化器/执行器,涵盖了mysql的很多核心功能. 存储引擎层负责数据的存储和读取,支…
mysql优化–explain分析sql语句执行效率 Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句. Explain语法:explain select - from - [where -] 例如: explain select * from news where id = 1; 输出: id select_type table type…
msyql执行流程 你有个最简单的表,表里只有一个 ID 字段,在执行下面这个查询语句时:: select * from T where ID=10: 我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的执行过程. 下面我给出的是 MySQL 的基本架构示意图,从中你可以清楚地看到 SQL 语句在 MySQL 的各个功能模块中的执行过程. 大体上,MySQL 分为 Server 层和存储引擎层两部分. Server 层包括连接器.查询缓存.分析器.执行器等,以及所有的…
原文链接:http://www.cnblogs.com/liulei-LL/p/7729983.html 一.表设计 1. 库名.表名.字段名使用小写字母,“_”分割. 2. 库名.表名.字段名不超过12个字符. 3. 库名.表名.字段名见名知意,尽量使用名词而不是动词. 4. 优先使用InnoDB存储引擎. 5. 存储精确浮点数使用DECIMAL替代FLOAT和DOUBLE. 6. 使用UNSIGNED存储非负数值. 7. 使用INT UNSIGNED存储IPV4.[FAQ] 8. 整形定义中…
1. from2. on3. join4. where5. group by6. with7. having8. select9. distinct10. order by11. limit 例: select d1.*, d2.dept_name p_name, d2.dept_id p_id from dept_p d1 left join dept_p d2 on d1.parent_id = d2.dept_id 其中的最后一行中的  d2.dept_id   不能换为   d2.p_i…
影响数据库性能的因素: 1.硬件环境:CPU.内存.存盘IO.网卡流量等 2.存储引擎的选择 3.数据库参数配置(影响最大) 4.数据库结构设计和SQL语句 MySQL采用插件式存储引擎,可以自行选择,但同时如何选择也成了问题,本文会介绍存储引擎的特点,以及如何选择 MySQL体系结构: Server用来实现所有与存储引擎无关的事:比如,查询语句等 MySQL所支持的存储引擎如下:通过show engines查询 MyISAM:MySQL5.5版本之前默认的存储引擎 MyISAM的表由FRM(存…
数据库的基本操作 在MySQL数据库中,对于一个MySQL示例,是可以包含多个数据库的. 在连接MySQL后,我们可以通过 show databases; 来进行查看有那么数据库.这里已经存在一些库了,其中information_schema.auth.mysql.performance_schema这几个库时是MySQL内置的(不同版本略有差异). 那如何新建自己的数据库呢?使用CREATE DATABASE 数据库名; 即可. CREATE DATABASE 数据库名; 这里我们已经成功创建…