200-Study | SQL学习| MySQL 优化案例

本文分享了MySQL性能优化的八大案例,包括避免大LIMIT、处理类型不匹配、优化子查询、复合排序策略、智能使用JOIN、查询条件位置调整、提前筛选表和针对性连接查询,旨在提升查询效率。
摘要由CSDN通过智能技术生成

MySQL的优化案例都来自:
MySQL · 性能优化 · MySQL常见SQL错误用法

Case 1: limit 100000000,1

SELECT * 
FROM   operation 
WHERE  type = 'SQLStats' 
       AND name = 'SlowLog' 
ORDER  BY create_time 
LIMIT  1000, 10; 

DBA(data base administrator)会选择采用建立组合索引的形式来增加访问速度。
关于检索的理解,检索是以空间换取时间的一个策略。作用是在使用where语句进行过滤的时候可以加快查询进度,对于and这种组合过滤条件则需要创建组合索引。原理尚不清楚。
但是这里的limit如果后面第一个参数非常大,这样的查询会非常慢。把每一页的最大值比如#2017-03-16 14:00:00#当成查询条件就可以

SELECT   * 
FROM     operation 
WHERE    type = 'SQLStats' 
AND      name = 'SlowLog' 
AND      create_time > '2017-03-16 14:00:00' 
ORDER BY create_time limit 10;

Case 2: where bpn(varchar(20)) = 10211313

mysql> explain extended SELECT * 
     > FROM   my_balance b 
     > WHERE  b.bpn = 14000000123 
     >       AND b.isverified IS NULL ;
mysql> show warnings;
| Warning | 1739 | Cannot use ref access on index 'bpn' due to type or collation conve
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值