mysql相关知识点的总结
需积分: 0 74 浏览量
更新于2023-12-25
收藏 53KB DOC 举报
MySQL 相关知识点总结
MySQL 存储引擎基于表的创建时,默认使用 InnoDB,从 5.5 版本开始,之前的默认存储引擎是 MyISAM。InnoDB 支持事务、行锁、外键约束,保证数据的完整性和正确性。每个表都有一个表空间文件,包含表结构、数据和索引。逻辑存储结构由表、段、区、页和行组成。
MyISAM 不支持事务和外键,支持表锁,访问速度快。但是,它不适合高并发和大规模数据存储。Memory 存储引擎支持 DML 操作,事务和行锁,高并发,外键约束,但不适合大规模数据存储。
索引是 MySQL 优化查询的重要手段。索引类型包括主键索引、唯一索引、常规索引和全文索引。InnoDB 索引的存储形式有聚集索引和二级索引。聚集索引是必须有的,结构为叶子节点挂的就是 row 数据。二级索引可以有多个,结构为叶子节点挂的就是 id。
B+树索引是 MySQL 的默认索引类型,它具有高速获取数据、提高排序效率和降低 CPU 消耗的优点,但它占用磁盘空间,影响增删改索引结构。Hash 索引支持 Memory 存储引擎,支持等值查询,但不能范围查询和排序。
MySQL 优化后的 B+树索引增加了一个指向相邻叶子节点的链表指针,形成有序的指针,提高访问效率。InnoDB 选择使用 B+树索引是因为相对二叉树,层级更少,查询效率更高,相对 Hash 不能范围查询和排序。
索引分类包括主键索引、唯一索引、常规索引和全文索引。在 Innodb 中,索引的存储形式有聚集索引和二级索引。聚集索引是必须有的,结构为叶子节点挂的就是 row 数据。二级索引可以有多个,结构为叶子节点挂的就是 id。
在 MySQL 中,索引的使用可以提高查询效率,但需要遵守一定的规则,例如最左前缀法则,避免回表查询,避免索引失效。使用 or 两边都要有索引,否则索引失效。字符串不加引号索引失效,模块查询头不配匹就会失效。
SQL 分析是 MySQL 优化的重要步骤,可以通过 show global status like 'Com____' 查看查询 SQL 的执行频率,通过慢 SQL 日志查看 SQL 执行时间,通过 profile 查看 SQL 执行各个阶段的耗时。执行计划可以通过 explain 查看,包括 id,type,possible_key,key,key_len,rows,filtered 和 extra 等信息。
索引使用需要遵守一定的规则,例如避免回表查询,避免索引失效,使用 or 两边都要有索引,否则索引失效。字符串不加引号索引失效,模块查询头不配匹就会失效。
覆盖索引可以减少查询时间,返回的数据尽量包含索引,少用 select*。前缀索引可以对大字段部分长度做索引,减少索引体积空间,选择长度越长越好。联合索引可以存在多个查询条件,建议使用。

程序猿小蝌蚪黄小帅
- 粉丝: 69
最新资源
- 分布式算法仿真软件_模拟网络环境主机网卡CPU分布式定时器自定义时延抽象调度函数处理时间无线内存硬盘假设_用于分布式算法测试与验证_依赖Google_benchmark_Gtest.zip
- 基于闪存转换层仿真算法的存储固件性能测试平台_闪存管理_垃圾回收_磨损均衡_地址映射_读写延迟优化_坏块管理_SSD寿命预测_数据持久性验证_NAND特性模拟_IOPS性能分析_适.zip
- 操作系统进程与内存管理模拟系统_进程调度算法选择内存分配策略配置及内存容量设定主界面包含源语输入区提示信息输出区进程状态显示面板与内存空间动态可视化模块_用于计算机科学教育中模拟多.zip
- 云飞机器人中文维基项目_机器人公共知识编辑平台_涵盖机器人设计建模仿真编程视觉算法行业应用等全面内容_采用公共知识自由编辑方式鼓励社区参与持续改进内容质量_旨在为机器人开发者研究者.zip
- 逻辑表达式符号化处理与Simulink电路自动生成系统_支持自定义逻辑运算符解析卡诺图与真值表可视化最小项编译表达式自动化简及仿真电路生成_用于数字电路设计教学与逻辑系统快速.zip
- sunbin1995_ADRC_10416_1756522093951.zip
- 基于特征融合的在线多目标多相机车辆跟踪系统_使用Unity3D搭建交通仿真场景进行算法测试和QT设计UI界面显示仿真结果及参数设置_支持多目标跟踪和跨相机车辆重识别_适用于智能交通.zip
- 基于RRT算法及其改进版本的路径规划仿真系统_包含RRTRRT星Informed_RRT星等算法的实现与可视化对比_用于机器人自主导航自动驾驶车辆路径优化及复杂环境下的运动规.zip
- 基于Vuejs框架开发的现代化日程管理Web应用系统_包含热重载开发服务器_生产环境构建压缩_单元测试与端到端测试集成_Webpack模块打包配置优化_采用ES6语法与单文件组件.zip
- 基于RFID通信中slottedaloha算法的仿真实现_无线射频识别技术时隙aloha协议防碰撞算法标签识别效率吞吐量分析信道负载模拟帧时隙优化动态调整机制冲突.zip
- 基于马尔可夫决策过程的车载可见光通信与射频通信混合垂直切换算法仿真项目_车辆网络通信仿真_VLC_RF混合切换_马尔可夫决策过程优化_切换时延与丢包率分析_用于研究车载通信网络中V.zip
- 基于RFID通信协议的纯Aloha算法仿真实现_无线射频识别技术_多标签碰撞避免_时隙随机接入机制_吞吐量性能分析_信道利用率优化_Matlab或Python仿真平台_动态帧时隙A.zip
- 共识协议性能对比模拟器_区块链共识算法性能测试与比较分析_用于在理想网络环境下无对抗目标和空交易积压条件下评估不同共识协议的吞吐量时间最终性和数据大小等核心指标_分布式系统仿真_节.zip
- JouChin_TurbineMarineProject_36836_1756522320781.zip
- 基于加速粒子群优化算法的动态电池配送路径仿真模拟系统_动态电池配送路径规划_优化电动汽车电池配送效率_加速粒子群优化算法_路径仿真模拟_智能物流调度_实时动态调整_多目标优化_配送.zip
- PUMA560机械臂建模与轨迹规划项目归档包_包含机械臂结构分析正逆运动学算法推导三维模型构建URDF文件生成Simulink仿真框架开发关节空间与笛卡尔空间轨迹规划实现.zip