mysql数据库如何优化SQL

mysql 数据库我如何优化慢的SQL语句

1.根据慢日志定位到慢sql语句,使用 show variables like ‘%quer%’ 查看与查询相关的变量,在慢sql查询中我们主要关注一下三个。

   开启 slow_query_log                set global slow_query_log = on

   设置 long_query_time 时间      set global long_query_time = 1

    找到 slow_query_log_file 指定的文件位置

2. 使用 explain 工具分析SQL语句

3.修改SQL或者尽量让SQL走索引

   增加索引  alter table <表明> and index 索引名(字段名)

    在语句后面增加 force idnex(索引)表示使用强制索引

番外篇:符合索引的 最左匹配原则

    1.最左前缀匹配原则,非常重要的原则,mysql会一直想右匹配直到遇到范围查询(>,<,between,like)就停止匹配。比如 a=3 and b=4 and c > 5 and d=5 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以则都可以用得到。并且a,b,d 的顺序可以任意调整。

    2.= 和 in 可以乱序,例如 a=1 and b =2 and c= 3 建立 (a,b,c)索引可以任意顺序,mysql的查询优化器会帮你优化成索引可以识别的形式

转载于:https://my.oschina.net/u/3744526/blog/3037102

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值