mysql sqlstate 22018

编程入门 行业动态 更新时间:2024-10-06 12:19:55

<a href=https://www.elefans.com/category/jswz/34/1771279.html style=mysql sqlstate 22018"/>

mysql sqlstate 22018

接着上一篇sql优化来说

1. 定位执行效率较低的sql 语句

通过两种方式可以定位出效率较低的sql 语句。

(1) 通过上篇讲的慢日志定位,在mysqld里写一个包含所有执行时间超过 long_query_time秒的sql语句的日志文件,后面具体介绍。

(2) 通过show processlist 实时定位线程状态,是否锁表等,下面简单演示下show processlist:

先模拟会话1表锁,再会话2更新该表city的数据,由于会话1表锁没有释放,会话2更新会一直会等待尝试去获取更新锁,再通过show processlist查看

--会话 1获取city 表锁

LOCK TABLE city READ;--会话2更新city表

UPDATE city SET citycode='001'

查看发现: 状态列中找到waiting for table metadata lock(等待 table元数据锁),当前线程的info 信息 如下所示:

2. 通过explain 来分析sql执行计划

通过上篇的慢日志定位和processlist 找出效率低的sql语句后,可以通过explain或者desc命令获取mysql 如何执行查询语句的信息。

--查看执行计划(二种方式一样)

DESC SELECT LedRecycleInfoLogID FROM LedLogInfo

更多推荐

mysql sqlstate 22018

本文发布于:2024-02-17 17:48:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1694919.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:mysql   sqlstate

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!