首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【mysql】优化慢sql

【mysql】优化慢sql

原创
作者头像
无敌小菜鸟
修改2022-06-06 14:54:56
修改2022-06-06 14:54:56
2.3K0
举报
文章被收录于专栏:搬砖笔记搬砖笔记

今天例行查看日志,发现有个sql在本地查询速度较快,在服务器环境下查询速度较慢,达到了6s之多。

说下优化思路,原本事先将子查询优化下,后来排查下,发现是mysql缓存问题。为以后排查问题涨了点知识。

  1. 优化sql语句
  2. 优化mysql配置、

一、sql优化

优化前

代码语言:javascript
复制
SELECT
	space_id,
	max_temp,
	min_temp,
	avg_temp,
	create_time 
FROM
	( SELECT space_id, max_temp, min_temp, avg_temp, create_time FROM t_data_history ORDER BY create_time DESC LIMIT 99999 ) a 
GROUP BY
	a.space_id

优化后

代码语言:javascript
复制
SELECT
	a.*,
	b.max_temp,
	b.min_temp,
	b.avg_temp,
	b.x,
	b.y,
	b.z,
	b.circle_point,
	b.temperature 
FROM
	( SELECT max( create_time ) AS create_time, space_id FROM t_data_history a GROUP BY space_id ) a
	LEFT JOIN t_data_history b ON a.space_id = b.space_id 
	AND a.create_time = b.create_time
2
2

二、优化mysql配置

执行如下语句,查询InnoDB缓冲池大小

代码语言:javascript
复制
show variables like 'innodb_buffer_pool%';
1
1

在线调整InnoDB缓冲池大小

代码语言:javascript
复制
SET GLOBAL innodb_buffer_pool_size = 3221225472

sql查询效率显著提高

如果想永久修改,需要修改下mysql的配置文件,我这里就暂时不改了。

三、永久修改

安装包安装的mysql默认配置文件在哪个路径呢,找了半天才找到,默认在如下路径

Windows默认隐藏了,需要开启显示。

代码语言:javascript
复制
C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

路径

1
1

修改my.ini

搜索 innodb_buffer_pool_size

注意:用记事本保存的话,要注意保存的文件的编码。必须是ANSI

2
2

修改后,重启mysql即可。

参考文章

https://blog.csdn.net/chenlong316048157/article/details/124676394

腾云先锋(TDP,Tencent Cloud Developer Pioneer)是腾讯云GTS官方组建并运营的技术开发者群体。这里有最专业的开发者&客户,能与产品人员亲密接触,专有的问题&需求反馈渠道,有一群志同道合的兄弟姐妹。来加入属于我们开发者的社群吧!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、sql优化
    • 优化前
    • 优化后
  • 二、优化mysql配置
  • 三、永久修改
  • 参考文章
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档