如何查看项目的sql写的有问题,如锁表,慢查询等;
2021/7/28 19:36:39
本文主要是介绍如何查看项目的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语句,是判断问题语句的一个重要依据这篇关于如何查看项目的sql写的有问题,如锁表,慢查询等;的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25初学者必备:订单系统资料详解与实操教程
- 2024-12-24内网穿透资料入门教程
- 2024-12-24微服务资料入门指南
- 2024-12-24微信支付系统资料入门教程
- 2024-12-24微信支付资料详解:新手入门指南
- 2024-12-24Hbase资料:新手入门教程
- 2024-12-24Java部署资料
- 2024-12-24Java订单系统资料:新手入门教程
- 2024-12-24Java分布式资料入门教程
- 2024-12-24Java监控系统资料详解与入门教程