Java教程

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

本文主要是介绍如何查看项目的sql写的有问题,如锁表,慢查询等;,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
如果是因为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写的有问题,如锁表,慢查询等;的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!