mysql之sql语句最优化_Effective MySQL之SQL语句最优化

59526bb1fe0892341e7f53ee8d1c4210.png

用户经常抱怨他们的应用程序运行缓慢。通过检查系统和数据库性能,你找到了一个数据库中运行缓慢的SQL查询语句。但如果你不知道怎么在MYSQL中对这个SQL语句进行调优,那又该怎么办呢?

小编给大家了几个调优的方法:

1.尽量避免非操作符的使用

在索引使用NOT ,<>,会导致索引失效,比如a不等于0 a<>0可以修改为 a>0 or a<0 ,NOT修改为a>0或者a>"",避免全表扫描

2.尽量避免使用前导模糊查询,因为前导模糊查询由%,不能利用索引,影响查询效率.

3.避免对查询列的操作

操作包含:数据库函数,计算机表达式,这样会导致全表扫描

4.避免不必要的类型转换

这里的类型转换是潜在的类型转换,比如将字符串与数字类型比较,这样会将字符串进行转换,导致全表扫描

5.增加查询范围的限制

少使用*,

6.合理使用in与exists

exists是循环的方式,外表记录数代表循环的次数,外表的记录少,适合用它.

in先执行子查询,子查询去重之后,然后在执行主查询,子查询返回结果越少,越适合这种方式.

如果两张表数据一样大,那么用in和exists差别不大,但是如果不一样大,子查询小的用in,主查询小的用exists.

7.规范所有关键字的书写,select ,update,delete,要么全大写要不全小写

在《Effective MySQL之SQL语句最优化》中,你可以看到更多的SQL优化方法。这本书旨在通过对优化SQL语句的理想方法和最佳原则的讨论来满足优化SQL语句的需要。

第一章将为读者提供一些可以直接应用到工作中的速成技巧。本章将会用到这些方法:

1.确认运行缓慢的查询;

2. 识别缺失的索引;

3. 应用新的索引;

4. 验证新的索引。

第二章将要介绍的SQL命令能够基本涵盖所有可能用到的SQL优化技术,包括创建索引。以下就是本章将要介绍的命令:

1. EXPLAIN 命令

2. SHOW CREATE TABLE命令

3. SHOW INDEXES命令

4. SHOW TABLE STATUS命令

5. SHOW STATUS命令

6. SHOW VARIABLES命令

创建合适的索引是SQL性能调优中最重要的技术之一。第三章将介绍下列内容:

●MySQL 索引各种可能的用途

●理解各种索引数据结构理 论

●各种存储引擎的索引实现方式

●分区的 MySQL索引

第四章将会讨论索引的各种类型、MySQL如何选择索引以及添加索引对系统整体性能的影响。本章还会介绍如何为特殊的治定查询创建索引。

第五章将介绍创建覆盖索引、创建局部列的索引这两个索引技术。

第六章将会介绍内存相关的系统变量、日志和工具系统变量、各种查询相关的系统变量。

第七章将讨论整个SQL优化生命周期中的6个阶段:

●截取SQL语句

●识别并分类有问题的SQL语句

●确认 SQL语句的当前操作

●分析SQL语句和辅助信息

●优化SQL语句

●验证SQL优化的结果

第八章中将讨论下面几种性能优化的技巧:

●去除重复的索引

●找到没有被使用的或者无效的索引

●改进索引

●减少SQL语句

●简化SQL语句

●缓存选项

最后一章将详细介绍EXPLAIN命令的全部语法和选项。

这本书详细地讲述了SQL语句优化的各种方法,希望对大家有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值