千家信息网

mysql数据库中使用索引技巧有哪些

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了mysql数据库中使用索引技巧有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。花1分钟时间,了解聚集索引,非聚集
千家信息网最后更新 2026年11月01日mysql数据库中使用索引技巧有哪些

这篇文章主要介绍了mysql数据库中使用索引技巧有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

花1分钟时间,了解聚集索引,非聚集索引,联合索引,索引覆盖。

举例,业务场景,用户表,表结构为:

t_user(uid primary key,login_name unique,passwd,login_time,age,…);

聚集索引(clustered index):聚集索引决定数据在磁盘上的物理排序,一个表只能有一个聚集索引,一般用primary key来约束。

举例:t_user场景中,uid上的索引。

非聚集索引(non-clustered index):它并不决定数据在磁盘上的物理排序,索引上只包含被建立索引的数据,以及一个行定位符row-locator,这个行定位符,可以理解为一个聚集索引物理排序的指针,通过这个指针,可以找到行数据。

举例,查找年轻MM的业务需求:

select uid from t_user where age > 18 and age < 26;

age上建立的索引,就是非聚集索引。

联合索引:多个字段上建立的索引,能够加速复核查询条件的检索

举例,登录业务需求:

select uid, login_time from t_user where login_name=? and passwd=?

可以建立(login_name, passwd)的联合索引。

联合索引能够满足最左侧查询需求,例如(a, b, c)三列的联合索引,能够加速a | (a, b) | (a, b, c) 三组查询需求。

这也就是为何不建立(passwd, login_name)这样联合索引的原因,业务上几乎没有passwd的单条件查询需求,而有很多login_name的单条件查询需求。

提问:

select uid, login_time from t_user wherepasswd=? and login_name=?

能否命中(login_name, passwd)这个联合索引?

回答:可以,最左侧查询需求,并不是指SQL语句的写法必须满足索引的顺序(这是很多朋友的误解)

索引覆盖:被查询的列,数据能从索引中取得,而不用通过行定位符row-locator再到row上获取,即"被查询列要被所建的索引覆盖",这能够加速查询速度。

举例,登录业务需求:

select uid, login_time from t_user wherelogin_name=? and passwd=?

可以建立(login_name, passwd, login_time)的联合索引,由于login_time已经建立在索引中了,被查询的uid和login_time就不用去row上获取数据了,从而加速查询。

末了多说一句,登录这个业务场景,login_name具备唯一性,建这个单列索引就好。

作业:

假设订单有三种状态:0已下单,1已支付,2已完成

业务需求,查询未完成的订单,哪个SQL更快呢?

select * from order where status!=2select * from order where status=0 or status=1select * from order where status IN (0,1)select * from order where status=0unionselect * from order where stauts=1

感谢你能够认真阅读完这篇文章,希望小编分享的"mysql数据库中使用索引技巧有哪些"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

索引 查询 需求 数据 联合 业务 篇文章 场景 条件 物理 定位 排序 登录 技巧 数据库 不用 指针 朋友 磁盘 订单 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡网 保险科技 互联网保险 互联网最新的科技有限公司 金融科技与互联网金融 华宇互联网科技 为想互联网科技 银优互联网科技有限公司 无锡溥仪互联网科技有限公司 成都铂石互联网科技做什么的 电子科技大学互联网创业大赛 深圳育鹏互联网科技有限公司招聘 互联网科技人工智能实验室 黑科技 体验场景 互联网大会 广东工业互联网大赛深圳学泰科技 宇信科技在杭州互联网排第几 从那以后互联网科技有限公司 保山互联网科技靠谱吗 米泉互联网科技专业怎么样 互联网科技和医药行业 互联网的黑科技实验室 互联网科技垄断 易通互联网络科技有限公司 哈尔滨新华互联网科技 互联网科技与管理 科技互联网大厂 黑科技闪耀互联网之光 广州市恰铎互联网科技有限公司 浙南科技城互联网大厦建设工程 全球科技与互联网公司市值变化 恒生互联网科技趋势
0