起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 职业教育 > 包头达内解读如何实现Mysql优化选择最佳索引

包头达内解读如何实现Mysql优化选择最佳索引

时间:2018-12-12 17:38:15来源:编程网 作者:IT培训网 已有: 名学员访问该课程

  快捷搜索:包头达内Mysql优化

前言:  索引的目的在于提高查询效率,其功能可类比字典,通过该索引可以查询到我们想要查询的信息,因此,选择建立好的索引十分重要,以下是包头达内为Mysql优化选择最佳索引的方法步骤:

  索引的目的在于提高查询效率,其功能可类比字典,通过该索引可以查询到我们想要查询的信息,因此,选择建立好的索引十分重要,以下是包头达内为Mysql优化选择最佳索引的方法步骤:

  1. 首先列出查询中所有使用的表,并为查询中的每个子查询创建一个独立的列表。如果有一个包含 2 个 SELECT 子查询的 SELECT 查询,应该建立 3 个列表,每个列表包含引用在其中的表。在此过程结束时,就会在每个查询列表中为每个表添加一个列的列表。

  2. 在任何索引中最左边的列应与查询相等比较匹配,可以添加多个列,只要所有列与常量进行比较相等即可。

  3.选择一个列,这将是范围列,MySQL 在每个索引中只支持一个范围列,需使用范围运算符(<>, >, <, IN(), BETWEEN, LIKE)来查看所有的比较,并选择可以过滤最多行数的那个,将该列给该表添加为索引中的下一列。

  4. 如果查询中不存在范围列,可以添加 GROUP BY 子句中的列。

  5. 如果查询中不存在范围列,并且没有 GROUP BY 子句,则可以添加 ORDER BY 子句中的列。

  6. 在某些情况下,创建一个独立的索引来保存 ORDER BY 子句的列是有意义的,因为 MySQL 有时会选择使用它。请注意,尽管如此,索引应该包含 ORDER BY 子句中的所有列,它们应该全部在 ORDER BY 子句中用相同的顺序(ASC / DESC)指定。这并不能保证数据库的优化器会选择这个索引而不是 WHERE 复合索引,但是值得一试。

  7. 最后,从 SELECT 子句中添加相关的列,这可能允许 MySQL 使用索引作为覆盖索引。覆盖索引是包含过滤和查询子句中的所有列的索引。这样的索引允许数据库仅通过使用索引运行查询,而不需要访问表。在许多情况下,这种方法显然更快。

  以上是Mysql优化选择最佳索引的方法,对于有这方面需求的人员来说,可以尝试一下,相信会有所收获!

文章出自:http://qh.itpxw.cn/qgtk/201845432.html

文章标题:包头达内解读如何实现Mysql优化选择最佳索引



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

(责任编辑:中国计算机培训网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
培训学校
中国计算机培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员 用户级别:10 机构名称:中国计算机培训网 联 系 人:王老师 联系电话: 联系手机:15617893695 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件:3510446867@qq.com 网站域名: 注册时间:2018-07-18 16:07 最后登录:2019-10-23 17:10