老男孩教育—官网

咨询热线:
400-888-4846

老男孩教育课程中心>Mysql优化选择*索引使用方法 老男孩it培训

 

https://www.oldboyedu.com 北京/上海/深圳 面授班 18515368555

老男孩教育IT培训课程有:

1 全日制:Linux云计算运维、python全栈开发+人工智能、java全栈开发、大数据开发

适合于:0基础学习,对IT感兴趣,想要在IT行业发展的朋友们

2 周末班MySQL周末班,阿里云架构师、GO开发、Linux架构师、python自动化开发、python自动化架构师、Linux云计算运维

适合于:本身在职IT行业内的朋友们,有一年以上行业经验

3 网络班


索引的目的在于提高查询效率,其功能可类比字典,*该索引可以查询到我们想要查询的信息,因此,选择建立好的索引十分重要,以下是为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优化选择*索引的方法,对于有这方面需求的人员来说,可以尝试一下,相信会有所收获!互联网企业大多用的数据库是MySQL的,想要众多的IT工作者中脱颖而出,就需要拥有高深的技术,学习增值是必不可少的。学习之路,是贵在坚持的。老男孩教育MySQL DBA课程,几经更新课程,杜绝纸上谈兵,全企业真实案例结合理论授课,想深入的学习MySQL DBA的知识,可以关注下老男孩教育。

培训世界 老男孩教育体验课 免费预约