Mysql 必知必会总结
2023-03-03 21:45:03 8 举报
AI智能生成
Mysql 必知必会总结
作者其他创作
大纲/内容
Mysql 必知必会
一条查询语句的内部执行过程
建立链接:客户端先通过连接器连接到mysql服务器<br>
缓存对比:连接器通过权限验证后,先查询是否有缓存,如果有缓存(之前执行过的语句),直接返回缓存结果,如果没有缓存则进入分析器<br>
分析器:进行语法分析、词法分析,判断sql语法是否正确<br>
优化器:对查询语句进行优化处理,如果一个表里有多个索引,优化器会判别哪个索引性能最优<br>
执行器:执行语句,返回所有查询结果<br>
引擎<br>
MyISam<br>
InnoDB<br>
索引
什么是索引
索引是一种数据结构,可以根据特定条件快速查询需要的数据<br>
优缺点
优点
快速访问数据库表中的信息,提高检索速度<br>
保证数据库表中的每一行数据具有唯一性
加快表与表之间的链接<br>
通过分组和排序可以降低检索时间<br>
缺点
索引需要占用磁盘空间资源
新增、更新、删除操作,索引文件也要同步更新,影响了响应速度<br>
索引有几种分类
主键索引
一张表只能有一个主键索引,不允许重复、不允许为 NULL<br>
唯一索引
数据列不允许重复,允许为 NULL 值,一张表可有多个唯一索引,但是一个唯一索引只能包含一列,比如身份证号码、卡号等都可以作为唯一索引
普通索引
一张表可以创建多个普通索引,一个普通索引可以包含多个字段,允许数据重复,允许 NULL 值插入
全文索引
让搜索关键词更高效的一种索引
聚集索引
一般是表中的主键索引,如果没有显式指定索引,则会选择表中的第一个不允许为 NULL 的唯一索引,如果还是没有的话,就采用 Innodb 存储引擎为每行数据内置的 6 字节 ROWID 作为聚集索引<br>
非聚集索引<br>
一个表中可以拥有多个非聚集索引
事务
客户端
Mysql服务端
查询缓存
有缓存
无缓存
进入分析器
语法错误
语法正确
优化器
优化查询语句,选择最优索引
执行器
0 条评论
下一页