一:存储引擎
1.1 体系结构
客户端可以通过JDBC、PHP等连接MySQL服务器
(1)连接层校验用户名密码、授权认证
(2)完成sql的相关功能(接口、查询、分析和优化)
(3)存储引擎控制Mysql数据存储与提取
1.2 介绍
存储引擎:建立索引、更新机制
(1)InnoDB
DML操作遵循ACID模型,支持事务;行级锁;支持外键
每一张表对应一个表空间(表结构、数据、索引)
存储结构:
(2)选择:根据系统特点选择合适的存储引擎
二:Mysql安装(linux版本)
下载安装包-上传安装包至Linux系统-解压目录-启动mysql-查询root自动密码后修改密码
三:索引
3.1概述
高效获取数据的有序数据结构
普通查询:按顺序查询完整张表(全表扫描)
有索引:3次即可完成查询
3.2 结构
(1)二叉树:
二叉树:层级较深时,检索速度变慢。
使用红黑树解决顺序查询时效率降低问题
Hash:不支持范围查询,只有精确匹配
演变过程:向上分裂
(2)B+树
所有节点存在叶子节点中
所有叶子节点形成一个链表
(3)为什么存储引擎选择B+树
3.3 分类
(1)聚集索引
(2)二级索引
(3)查询过程
3.4 操作语法
(1)创建索引
(2)查看索引
(3)删除索引
四:索引性能分析+使用规则
4.1 性能分析
(1)SQL执行频次
对于增删改查进行较多的表实施性能分析
(2)慢查询日志
慢查询日志记录了所有执行时间超过指定参数的所有SQL语句的日志
(3)性能分析
4.2 使用规则
(1)索引失效
字符串类型字段使用使如果不加单引号索引将会失效
头部模糊匹配,索引失效
用or分隔的条件前后列都要有索引,索引才会生效