ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

如何查看项目的sql写的有问题,如锁表,慢查询等;

2021-07-28 16:35:26  阅读:127  来源: 互联网

标签:语句 显示 sql 查询 线程 mysql 如锁表


如果是因为sql问题引起的项目查询慢,可以通过以下方法进行查看并及时优化sql 语句,达到项目优化的效果。   1.登录项目终端:   切换到mysql bin目录;   用到的命令:   cd 切换目录;   ls 列出 当前目录下的内容;   2.到mysql 的bin目录下后 登录数据库:   mysql [-u username] [-h host] [-p password] [dbname]   mysql -u  -h   -p     3.用 show processlist;语句   会显示当前正在进行的线程,不仅可以查看当前所有的连接数,还可以查看当前的连接状态帮助识别出有问题的查询语句等   显示哪些线程正在运行。   show processlist;只列出前100条,如果想全列出请使用show full processlist;    您也可以使用mysqladmin processlist语句得到此信息。   如果您有SUPER权限,您可以看到所有线程。   否则,您只能看到您自己的线程(也就是,与您正在使用的MySQL账户相关的线程)。   如果您不使用FULL关键词,则只显示每个查询的前100个字符。   以下图片各列的含义:   ①.id列,用户登录mysql时,系统分配的"connection_id",可以使用函数connection_id()查看   ②.user列,显示当前用户。如果不是root,这个命令就只显示用户权限范围的sql语句   ③.host列,显示这个语句是从哪个ip的哪个端口上发的,可以用来跟踪出现问题语句的用户   ④.db列,显示这个进程目前连接的是哪个数据库   ⑤.command列,显示当前连接的执行的命令,一般取值为休眠(sleep),查询(query),连接(connect)等   ⑥.time列,显示这个状态持续的时间,单位是秒   ⑦.state列,显示使用当前连接的sql语句的状态,很重要的列。state描述的是语句执行中的某一个状态。一个sql语句,以查询为例,可能需要经过copying to tmp table、sorting result、sending data等状态才可以完成   ⑧.info列,显示这个sql语句,是判断问题语句的一个重要依据   0  

标签:语句,显示,sql,查询,线程,mysql,如锁表
来源: https://www.cnblogs.com/honely/p/15071157.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有