news 2026/9/11 0:48:37

索引与sql优化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
索引与sql优化

索引概述

索引是一种数据结构,帮助mysql高效获取数据

无索引:全表扫描,效率低

有索引:

索引优点:

提高数据查询效率

通过索引的排序,降低了数据排序成本

索引缺点:

占用更多空间

但增删改的效率会降低

结构

Btree

最多4个,如果迎来第五个,则则中间的向上

B+tree

与Btree的区别:

1.所有数据都会在叶子节点

2.叶子节点形成一个单向列表

mysql的B+tree是

hash索引

使用哈希算法,存储在哈希表中

通常查询效率高

不支持范围查询

不支持过索引排序

B+tree的特点

相对于二叉树,层级更少,查询效率更高

相对于Btree,所有数据都会保存在叶子节点,占用更多,指针更少,性能更低

分类

主键索引:只能一个 primary

唯一索引:多个 unique

常规索引:多个

在Innodb里,根据存储方式分类

聚集索引:必须有,只能一个

二级索引:可以有多个

聚集索引挂的是这一行的行数据(row)

二级索引挂的是id

第一个效率更高

语法

创建索引:create index 索引名 on 表名(字段名...)

查看索引:show index from 表名

删除索引:drop index 索引名 on 表名

性能分析

查看执行频次

先找出业务的增删改查哪个业务多

show global status like 'Com___';

慢查询日志

慢查询日志默认不开启

查看是否开启慢查询

通过慢查询日志定位查询效率较低的sql

show profiles

explain执行计划

在select前加上explain即可

使用规则

SQL优化

插入数据优化

若要插入大量数据:

不要一条一条的插入,应该批量插入

手动事务提交

主键顺序插入

不使用insert,而是使用load指令

主键优化

order by

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 0:48:16

机器人开发全链路技术地图:从仿真到真机部署实战指南

这次我们换个角度聊机器人。它看起来是一堆电机、传感器和金属结构,但真正把机器人跑起来,牵涉到仿真、算法、硬件驱动、工业通讯和运维集成。无论你玩的是 ROS 2 移动机器人底盘、ABB 机械臂,还是宇树四足机器人,底层逻辑都一样&…

作者头像 李华
网站建设 2026/9/2 18:48:16

数学建模解题操作系统:认知-工具-逻辑-反思四层架构

1. 这不是“押题秘籍”,而是一套可复用的建模解题操作系统“2023亚太杯数学建模ABC题思路代码模型分析”——看到这个标题,很多同学第一反应是:赶紧找现成答案抄!但作为连续带队参加亚太杯、美赛、国赛十年的指导老师,…

作者头像 李华
网站建设 2026/9/2 22:17:17

VSCode开发效率提升:DSH插件编码转换与代码补全实战指南

这几天 VSCode 里动静最大的,应该就是 DSH 插件的新版本更新。我不是第一次聊这个插件,但这次更新的重点是“编码体验”这一层:补全、提示、编码风格检查、多文件编码转换,这些日常写代码最烦的细节,更新日志里基本都动…

作者头像 李华
网站建设 2026/9/2 14:29:32

多通道DAC调试完全指南:选型陷阱、串扰排查与过冲抑制

如果你跟我一样,在实验室里花了两周时间调一块16通道DAC板卡,最后发现所有噪声和过冲问题都不是芯片本身造成的,你大概也会想把这些经验写下来。所谓"Next-Gen Premium Multichannel DAC Series",厂商宣传册上的话总是很…

作者头像 李华