高性能MySQL笔记(第六章 查询性能优化) 01

p231~294. 分为2部分, p231~259, p260~p294. 此为第1部分.

一些语句

查询性能预估

select * from xxx;
show status like 'last_query_cost';

开启慢查询, 参考链接.

set global slow_query_log=ON;//开启慢查询
set long_query_time=1;//设置慢查询, 1表示比1秒长算慢查询
show status like 'slow_queries';//查询慢查询

常见引起慢查询的清空

请求了多余的数据

  • 查询不需要的记录. 如select * from table1, 然后程序分页, 只取20条, 这样就浪费了. 可以加LIMT解决.
  • 多表关联取出所有列. 如select * from table1 inner join table2 on table1.id = table2.t_id. 可以只拿需要的列代替select *
  • 重复查询相同的数据. 如多次查询相同的数据, 可以先缓存到应用程序端, 这样避免多次访问数据库.

额外扫描了多余的记录

3个指标衡量查询

  • 响应时间
  • 扫描的行数
  • 返回的行数
    关联查询时,

猜你喜欢

转载自www.cnblogs.com/winwink/p/HighPerformanceMySql_Chapter6_QueryOptimization_01.html