热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

生产环境高并发MySQLSQL语句优化案例

生产环境高并发MySQLSQL语句优化10条案例声明:本案例为老男孩linux运维实战培训的数据库优化教学案例,如有转载务必保留本版权声明在实际工作中,运维或DBA人员

生产环境高并发MySQLSQL语句优化10条案例声明:本案例为老男孩linux运维实战培训的数据库优化教学案例,如有转载务必保留本版权声明在实际工作中,运维或DBA人员

?,'?,'?,'绉︽矝','寰愬厠');

最终解决方案:有用到boy_title_upper的索引,慢的原因再观察

案例4:分析归类后的慢查询日志如下。

______________________________________________________________________ 004 ___

Count: 378(6.04%)

Time: 2604 s total, 6.888889 s avg, 3 s to 65 s max(7.63%)

95% of Time : 2031 s total, 5.657382 s avg, 3 s to 17 s max

Lock Time (s) : 0 total, 0 avg, 0 to 0 max(0.00%)

95% of Lock : 0 total, 0 avg, 0 to 0 max

Rows sent: 5 avg, 0 to 10 max(3.24%)

Rows examined : 2.81k avg, 92 to 24.91k max(27.61%)

Database: docresource

Users:

ett_oldboy@ 10.0.1.28 : 100.00% (378) of query, 100.00% (6256) of all users

Query abstract:

SELECT h.boy_id ,MAX(h.boy_his_edit_time) AS boy_his_edit_time FROM t_boy_his h WHERE h.boy_his_isteammate=N AND h.boy_his_state=N AND h.boy_his_editor_user_id_encrypt='S' GROUP BY h.boy_id ORDER BY h.boy_his_edit_time DESC LIMIT N,N;

Query sample:

selecth.boy_id ,max(h.boy_his_edit_time) from t_boy_his hwhere h.boy_his_editor_user_id_encrypt='pGVpWQVlYdglTaQ0Z' and h.boy_his_isteammate=1 and h.boy_his_state=1 group by h.boy_id order by h.boy_his_edit_time desc limit 0,4;

最终解决方案:

alter table t_boy_his add index editor_user_iden_docid(boy_his_editor_user_id_encrypt, boy_id);

1,sql改成:SELECT h.boy_id ,MAX(h.boy_his_edit_time) AS boy_his_edit_time FROM t_boy_his h WHERE h.boy_his_isteammate='pGVpWQVlYdglTaQ0Z' AND h.boy_his_state=1 AND h.boy_his_editor_user_id_encrypt='S' GROUP BY h.boy_id ORDER BY null

2,再在程序里,用javaboy_his_edit_time排序。

案例5:分析归类后的慢查询日志如下。

______________________________________________________________________ 005 ___

Count: 211(3.37%)

Time: 1218 s total, 5.772512 s avg, 3 s to 30 s max(3.57%)

95% of Time : 1022 s total, 5.11 s avg, 3 s to 13 s max

Lock Time (s) : 0 total, 0 avg, 0 to 0 max(0.00%)

95% of Lock : 0 total, 0 avg, 0 to 0 max

Rows sent: 2 avg, 0 to 2 max(0.72%)

Rows examined : 3.61k avg, 110 to 19.59k max(19.81%)

Database:

Users:

ett_oldboy@ 10.0.1.28 : 100.00% (211) of query, 100.00% (6256) of all users

Query abstract:

SELECT h.boy_id ,MAX(h.boy_his_edit_time) AS boy_his_edit_time FROM t_boy_his h WHERE h.boy_his_isteammate=N AND h.boy_his_state=N AND h.boy_his_editor_user_id=N GROUP BY h.boy_id ORDER BY h.boy_his_edit_time DESC LIMIT N,N;

Query sample:

selecth.boy_id ,max(h.boy_his_edit_time) as boy_his_edit_time from t_boy_his hwhere h.boy_his_isteammate=1 and h.boy_his_state=1 and h.boy_his_editor_user_id=300000178518 group by h.boy_id order by h.boy_his_edit_time desc limit 0,2;

最终解决方案:此sql由查前面一个sql代替,删除。

案例6:分析归类后的慢查询日志如下。

______________________________________________________________________ 006 ___

Count: 30(0.48%)

Time: 940 s total, 31.333333 s avg, 3 s to 77 s max(2.76%)

95% of Time : 790 s total, 28.214286 s avg, 3 s to 69 s max

Lock Time (s) : 0 total, 0 avg, 0 to 0 max(0.00%)

95% of Lock : 0 total, 0 avg, 0 to 0 max

Rows sent: 1 avg, 1 to 1 max(0.05%)

Rows examined : 10.96k avg, 1.82k to 28.12k max(8.56%)

Database: docresource

Users:

ett_oldboy@ 10.0.1.28 : 100.00% (30) of query, 100.00% (6256) of all users

Query abstract:

推荐阅读
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文主要讨论了在xps15上安装双系统win10和MacOS后,win10无法正常更新的问题。分析了可能的引导问题,并提供了解决方法。 ... [详细]
author-avatar
手机用户2702935720
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有