- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 MySQL 数据库并尝试在插入后立即更新记录,因此出现以下错误 ER_LOCK_WAIT_TIMEOUT:超出锁定等待超时;尝试重新启动事务
。所以我通过以下查询减少超时:-
set GLOBAL innodb_lock_wait_timeout=1
所以我的问题是:-可以这样做吗?会不会导致性能问题等其他问题?
谢谢你的帮助。
最佳答案
如果这是一个 Web 应用程序并且您正试图从一个页面到下一个页面挂起事务,不要;它不会起作用。
“刚好”是什么意思?如果您在两个语句之间什么都不做,即使是 1 秒的超时也应该足够大。
mysql> SET GLOBAL innodb_lock_wait_timeout = 1;
mysql> SELECT @@innodb_lock_wait_timeout;
+----------------------------+
| @@innodb_lock_wait_timeout |
+----------------------------+
| 50 |
+----------------------------+
mysql> SET SESSION innodb_lock_wait_timeout = 1;
mysql> SELECT @@innodb_lock_wait_timeout;
+----------------------------+
| @@innodb_lock_wait_timeout |
+----------------------------+
| 1 |
+----------------------------+
解释变量的 GLOBAL 与 SESSION:当连接开始时,GLOBAL 值用于初始化 SESSION 值。之后,您可以更改 SESSION 值以影响您正在做的事情。更改 GLOBAL 值对您的当前连接没有影响。
将超时更改为 1 是非常安全的(一旦您理解了 GLOBAL 与 SESSION)。唯一会改变的是出现该错误的频率。
关于php - innodb_lock_wait_timeout 增加超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28735473/
我正在使用 MySQL 数据库并尝试在插入后立即更新记录,因此出现以下错误 ER_LOCK_WAIT_TIMEOUT:超出锁定等待超时;尝试重新启动事务。所以我通过以下查询减少超时:- set GLO
我想更改 innodb_lock_wait_timeout MySQL 变量。我尝试使用这个命令 set innodb_lock_wait_timeout=900; 但是当我运行这个时,我收到以下错误
我有一个查询,需要时间来执行,因为我正在导入 geonames 表 LOAD DATA LOCAL INFILE 'allCountries.txt' INTO TABLE geoname CHARA
我有一个包含数十万行的表格。现在,突然我需要创建一个 varchar 列索引。此外,我需要使用该列执行一些操作。但它给出了 innodb_lock_wait_timeout exceeded 错误。我
我们正在尝试获取有关 MySQL 上大型日志表的一些统计信息。某些选择查询的完成时间太长,导致出现异常; 引起:java.sql.SQLException:超过锁定等待超时;尝试重启交易 这导致我们的
我使用的MySQL版本:5.1.73 我想更改 innodb_lock_wait_timeout mysql 变量。 set innodb_lock_wait_timeout=100; 但我收到此错误
我是一名优秀的程序员,十分优秀!