MySQL调优
1、如果不存在这个索引MySQL效率的问题
MySQL 本身是基于文件系统的
MySQL本身的数据是存储到硬盘上的 文件中的
1、就是基于INNODB引擎的是两个文件
.frm:存储的是表的结构信息
.ibd:数据和索引信息
2、基于MyISAM存储引擎的
三个文件
存储的是 表结构信息
存储的是 数据信息
存储的是 索引信息
一条SQL语句的执行流程?
我们经常使用 SQLyog Java代码 CMD命令行去操作我们的数据库
哪现在我想问个问题
SQLYog Java代码 CMD 他们三个的共同点是啥? 也就是说他们三个究竟干了什么事情?
他们的共同点就是将SQL语句 发送到 数据库的管理系统=====>没有执行SQL的功能 只有创建连接 发送SQL
MySQL就是基于文件系统的
我们想一个问题
基于文件系统 如果是我们要查询数据 我们怎么查询呢?
我们要到硬盘上去找一个文件 或者 一个人文件 会经过哪些过程?
计算机在找东西的时候都要经过两个过程去定位资源
1、磁盘的旋转
2、磁盘的寻道
所以我们在找一个数据的时候 时间=磁盘的旋转时间+磁盘的寻道时间
一般情况下 磁盘的旋转时间是很短的 长的是磁盘的寻道(找内容)
我们在查询MySQL中数据的时候 常时间的是 磁盘的寻道
MySQL:MySQL可以看成是一本书 拥有很多页面的这样一本书
我们如果要去这个书上去寻找东西------------>书的目录去寻找 应该是最快的
索引本身 就相当于是这本书的目录 如果这本书本身没有目录 那么我们的查询显然就效率就很低