背景 MySQL 成为了业界主流的数据库存储,随着公司的发展和业务的复杂性,必须需要了解和掌握一些 MySQL 优化技巧 以下是结合自己的实践学习和网上的资料汇总成的一些场景 前置准备 以下 MySQL 版本是 5.7 执行所产生的效果,不排除后续 MySQL 版本升级,MySQL 进行了优化 示例表 首先创建一个 employees,插入 100000 条数据,如果以下 SQL,有可能因为 MySQL 版本不一致,导致无法执行,可以用 navicat 自动数据生成 navicat 数据生成 SQL 语句生成 CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', `age` int(11) NOT NULL DEFAULT '0' COMMENT '年龄', `position` varchar(20) NOT NULL DEFAULT '' COMMENT '职位', `hire_time` timest....

一条SQL在MySQL中是如何执行的
MySQL的内部组件结构 大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。 Server层 主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 连接器 我们知道由于MySQL是开源的,他有非常多种类的客户端:navicat,mysql front,jdbc,SQLyog等非常丰富的客户端,这些客户端要向mysql发起通信都必须先跟Server端建立通信连接,而建立连接的工作就是有连接器完成的。 第一步,你会先连接到这个数据库上,这时候接待你的就是连接器。连接器负责跟客户端建立连接、获取权限、维持和管理连接。连接命令一般是这么写的: [root@192 ~]# mysql -h host[数据库地址] -u root[用户] -p root[密码] -P 3306 连接命令中的 mysql 是客户端工具,用来跟服务端建立连接。在完成经典的 TCP 握手后,连接器就要开始认证你的身份,这个时候用的就是你输入的.....