mysql
未读
【性能优化篇】可视化手把手教你Mysql优化
本文介绍了MySQL的`EXPLAIN`工具,用于分析SQL语句的执行计划,适用于`SELECT`、`DELETE`等操作。其输出包含12个关键列,其中`id`标识查询优先级,`type`列(从最优到最差排序:`NULL`、`system`、`const`、`eq_ref`、`ref`、`range`、`index`、`ALL`)反映连接效率,`key`显示实际使用的索引,`Extra`提供附加信息(如覆盖索引`Using index`、文件排序`Using filesort`)。索引优化需遵循:全值匹配、最左前缀法则、避免索引列计算、使用覆盖索引、注意范围查询右列失效、规避`LIKE`通配符开头及类型转换等场景。通过`EXPLAIN`可定位性能瓶颈,指导索引设计优化。
mysql
未读
【MySQL篇】Mysql底层数据结构
本文系统阐述了MySQL索引的本质及核心原理。索引本质是提升数据检索效率的有序数据结构。通过对比五种底层数据结构:二叉树和红黑树因树高问题查询效率低;Hash表虽快但仅支持等值查询且存在冲突;B树因节点存储数据导致树高增加;而B+树凭借非叶子节点纯存索引、叶子节点双向指针及数据仅存于叶子节点的设计,成为最优选,显著降低树高并高效支持范围查询。在存储结构上,聚簇索引(主键索引)将数据与索引一体存储,非聚簇索引需回表查询;覆盖索引通过包含查询字段避免回表;联合索引遵循最左匹配原则;索引下推技术则将过滤条件下推至存储引擎层,进一步减少回表开销。

