教你如何快速定位项目中慢查询[项目管理]

1. 使用对象: 项目经理或者项目管理者


2. 数据库: mysql

3. 快速定位慢查询:


启动mysql时,启动慢查询日志:
3.1 Window系统:
第一种:bin\mysqlId.exe  --safe-mode  --slow-query-log (可在my.ini中配置地址,默认存放位置:datadir=C:/ProgramData/MySQL/MySQL Server 5.6/Data);
第二种(建议):修改mysql的配置文件my.ini,找到my.ini文件,在[mysqld]里面加上以下内容:

#代表MYSQL慢查询的日志存储目录, 此目录文件一定要有写权限;       
log-slow-queries="C:/ProgramFiles/MySQL/MySQLServer5.5/log/mysql-slow.log"
#设置慢查询的时间,mysql默认慢查询时间为10s,根据情况设置

long_query_time =2

#没有使用到索引的查询也将被记录在日志中                           
log-queries-not-using-indexes

配置好以后重新启动一个MYSQL服务(否则配置无效)

3.2  Linux系统:
修改mysql的配置文件my.cnf,在[mysqld]里面加上以下内容:

#设置慢查询的时间,mysql默认慢查询时间为10s,根据情况设置long_query_time=2                                         
#设置慢查询日志存放地址,根据自己情况设置          
log-slow-queries=/usr/local/mysql/mysql-slow.log

配置好以后重新启动mysql服务:  /usr/local/mysql/libexec/mysqld restart

说明:作为一个项目经理或者项目管理者,了解开发人员的sql查询编写的优劣情况很重要,一个好的查询sql,可以提升项目的访问速度,带给用户良好的体验,而一个劣质的sql,不仅会加慢项目的访问速度,还会导致用户流量的流失,这是一个致命的问题。只有实时的掌握查询sql编写情况,才能很好的避免不必要的服务器开销和用户的流失。

注意:启用慢查询配置请在测试环境使用,请勿使用在生成环境中。

时间: 2025-02-01 17:46:25

教你如何快速定位项目中慢查询[项目管理]的相关文章

《AndroidStudio每日一贴》9. 如何使用导航栏快速切换项目中的视图?

<AndroidStudio每日一贴>9. 如何使用导航栏快速切换项目中的视图? 操作方法: 导航栏可以快速切换项目中的视图显示. 使用command + 向上键头显示导航栏,然后使用方向键来定位你要查看的文件或文件夹. 更多实用技巧请查看<AndroidStudio实用指南> 博客: http://blog.csdn.net/wirelessqa 作者: 老毕 版权声明:本文为博主原创文章,未经博主允许不得转载.

教你如何在iOS项目中设置各种字体

在iOS开发中设置字体的方法有很多种,下面为大家介绍比较常用的三种方法 1.使用系统默认提供的字体 系统默认提供的字体主要是指UIFont中提供的字体,其使用代码为: fontLabel.font = [UIFont fontWithName:@"Marion" size:17]; 或者是通过字体详细字典对字体属性进行设置 /* UIFontDescriptorFamilyAttribute:设置字体家族名 UIFontDescriptorNameAttribute :设置字体的字体名

记一次项目中的查询汇总

项目要实现查询汇总的功能,针对不同的分组实现不同的汇总.直接上图吧,直观一点.要实现的效果如下图所示. 设计思路:第一,先实现电业局,变电工区,运维站,变电所相同的列名称,能够合并的功能.第二,在合适的位置插入汇总行(即有总计的行). 实现方法,第一,相同的列名称合并的功能,很简单,设置要合并的列的列属性AllowMerge=true,并不总的GridView的AllowMerge设为true即可. 第二,主要难点在怎么实现汇总的功能.数据库中的获取的数据如下图所示: 数据说明: PERSONI

小技巧:快速清除项目中的svn相关文件!

习惯使用svn作为源代码管理工具,安全可靠 但是这些.svn字样的文件夹及文件也会随着源代码一同被deploy到Tomcat中,除了看着碍眼,也会占用Tomcat的性能 每次都是在项目部署目录里,搜索.svn,同时要选择显示隐藏文件,然后再全部删除,好麻烦 无意中发现个小脚本,导入到注册表之后,就会生成一个右键菜单,点击后就能一次性清空所选文件夹下全部的svn文件夹和文件,真实技术改变生活呀! ClearSvnFolders.rar

如何快速定位JVM中消耗CPU最多的线程?

第一步.先找出Java的进程PID ps -ef | grep 进程名关键字 这里假设找到的PID是:12345 第二步.找出该进程内最消耗CPU的线程 top -Hp 12345 17183 log4x 20 0 4292820 529812 23040 R 94.7 0.8 1:11.79 java -server -Xms268435456 -Xmx268435456 17162 log4x 20 0 4292820 529812 23040 R 87.1 0.8 1:17.90 java

定位项目中,如何选取定位方案,如何平衡耗电与实时位置的精度?

始定位,Application 持有一个全局的公共位置对象,然后隔一定时间自动刷新位置,每次刷新成功都把新的位置信息赋值到全局的位置对象,然后每个需要使用位置请求的地方都使用全局的位置信息进行请求.该方案好处:请求的时候无需再反复定位,每次请求都使用全局的位置对象,节省时间.该方案弊端:耗电,每隔一定时间自动刷新位置,对电量的消耗比较大.方案2:按需定位,每次请求前都进行定位.这样做的好处是比较省电,而且节省资源,但是请求时间会变得相对较长.

赵本山 教你如何在实战项目中使用WCF

我们都知道调用WCF直接在Service References中引用可以远程调用的WCF Url就行了. 但是我们想过没,在Development环境中可以这样做,但是QA.UAT.Production上我们怎么做呢? WCF的通信方式主要有Http和Tcp,这次我们用Http. 好了,接下来老赵给你一个ideal,不算good. 1.新建一个WCF Service —‘BeautifulGirls.svc ',定义一个方法GetBeautifulGirlsDetails(string phon

【原创】笔者在项目中进行软件项目管理的实践

全面采用禅道的敏捷开发模式进行整个软件开发生命周期的管理, 需求->设计->编码->测试->交付这四个阶段全部用禅道对应的功能进行规范化管理. 岗位划分: 1.项目经理PM 2.技术经理TM 3.测试经理QM 4.高级程序员(一般担任开发小组长)MC 5.程序员GC 6.前端工程师FE 以上2.4.5.6属于开发组,3属于测试组 具体开发工作流程如下: 特别注意:禅道里的“项目”对应的就是每一次的发版,比如:下一次要发版的版本号是V2.4,则就需要新增一个项目“XXXXX项目V2.

项目中后台查询字典切换显示内容

List list = companyDao.xyunitUserListByType(hash); Map<String, String> para = new HashMap<String, String>(); para.put("Unit_type", "612"); para.put("Unit_nmtype", "601"); para.put("Class_type",