千家信息网

如何对MySQL性能实现调优

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本文主要给大家简单讲讲如何对MySQL性能实现调优,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望如何对MySQL性能实现调优这篇文章可以给大家带来一些
千家信息网最后更新 2025年01月24日如何对MySQL性能实现调优

本文主要给大家简单讲讲如何对MySQL性能实现调优,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望如何对MySQL性能实现调优这篇文章可以给大家带来一些实际帮助。

MySQL性能调优
提高MySQL系统的性能、影响速度
-替换硬件(CPU/磁盘/内存等)
-服务程序的运行参数调整
-对SQL查询进行优化

并发及连接控制
-连接数、连接超时
max_connections //允许的最大并发连接数
connect_timeout //等待建立连接的超时秒数,默认10秒,只在登录时有效
wait_timeout //等待关闭连接的不活动超时秒数,默认28800秒(8小时)

-产看当前已使用的连接数
mysql>flush status;
mysql>show globale status like "max_used_connections";

-查看默认的最大连接数
mysql>show variables like "max_connections";

-缓存参数控制
缓存区、线程数量、开表数量
key_buffer_size //用于MyISAM引擎的关键索引缓存大小
sort_buffer_size //为每个要排序的线程分配此大小的缓存空间
read_buffer_size //为顺序读取表记录保留的缓存大小
read_rnd_buffer_size //为按排序结果读取表记录保留的缓存大小
thread_cache_size //允许保存在缓存中被重用的线程数量
table_open_cache //为所有线程缓存的打开的表的数量

key_buffer_size=8M
当key_reads/key_read_requests较低时可适当加大此缓存值
mysql>show global status like "key_read%";
mysql>show variables like "key_buffer_size";

sort_buffer_size=256K
增大此值可提高ORDER和GROUP的速度
mysql>show variables like "sort_buffer_size";

查看表记录读取缓存
-此缓存值影响SQL查询的响应速度
mysql>show variables like "read_%_size";

查看可重用线程
mysql>show variables like "thread_%_size";

查看当前的线程重用状态
mysql>show global status like "threads_%";

查看已打开、打开过多少个表
mysql>show global status like "open%tables";

查看可缓存多少个打开的表
mysql>show variables like "table_open_cache";

SQL查询优化
MySQL日志类型,常用日志种类及选项:
错误日志 log_error[=name] //记录启用/运行/停止过程的错误消息
查询日志 general_log,general_log_file= //记录客户端连接和查询操作
慢查询日志 slow_query_log,slow_query_log_file=,long_query_time= //记录耗时较长或不使用索引的查询操作

记录慢查询:
slow-query-log //启用慢查询
slow-query-log-file //指定慢查询日志文件
long-query-time //超过指定秒数(默认10秒)的查询才被记录
log-queries-not-using-indexes //记录未使用索引的查询

调整服务配置:
vim /etc/my.cnf
[mysqld]
...
slow_query_log=1
slow_query_log_file=mysql-slow.log
long_query_time=5
log_queries_not_using_indexes=1

systemctl restart mysqld

查看慢查询日志,使用mysqldumpslow工具
mysqldumpslow /var/lib/mysql/mysql-slow.log

查看缓存的大小
mysql>show variables like "query_cache%";

查看当前的查询缓存统计
mysql>show global status like "qcache%";

如何对MySQL性能实现调优就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注我们的行业资讯。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。

查询 缓存 日志 线程 性能 大小 数量 索引 速度 最大 专业 参数 行业 错误 影响 排序 控制 服务 调整 运行 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件后台搭建数据库 外汇交易 什么 软件开发 网络安全微课平台 鹤唳华亭下载软件开发 网络安全需要什么专业知识 天龙融信网络安全技术有限公司 认识计算机网络技术环境 北京蓝信天地软件开发 江苏省网络安全技能大赛冠军 易语言多数据库切换 如何将项目连接到服务器 如何添加网络技术人才 生物信息学数据库 苹果应用打不开服务器疑似关闭 网络安全支队为啥需要值夜班 网络技术 重点题目 数据库最后一条怎么取 花木邦陕西网络技术有限公司 遵义比较好的软件开发公司 服务器怎样进去任务管理器 鲁南制药软件开发试用期工资 电脑服务器管理快捷键 湖北叮咚网络技术有限公司电话 新乡新景网络技术 保护手机网络安全手抄报 华为高密度服务器售后 北京蓝信天地软件开发 广东现代软件开发平均价格 网管和网管软件开发 三聚盛煤业网络安全
0