|
|
1
2
一个简单的解决方案是将其分为两个连续的查询。即。,: 从users WHERE(userflags&1048576)中选择userid进入tmptable; 从userid所在的会话中删除!=0和lastactivity<1289594761和admin=1,用户id不在(从tmptable中选择用户id); 这样,您就可以使用第二个表中值的本地会话副本,而不会对其造成读锁。然而,这只是一个快速而肮脏的解决方案。一个更好的解决方案是分析所有接触这两个表的活动的事务锁设置,并重写查询(如果您将定期使用它的话)。 |
|
|
2
2
可能您会更频繁地得到错误,因为这现在是一个更慢的查询。
这个
如果架构的工作方式与预期的一样,则应该可以使用简单的联接来完成此操作,该联接通常比子查询执行得更好:
(连接
|
|
|
Bard.Mus · 迁移后的数据库字符集环境 11 月前 |
|
|
tinkerr · 如何在2025年在MacOS上安装MySQL 5.7 11 月前 |
|
Efannnnnn · 将Id数据存储到任何页面 11 月前 |
|
|
yooooo · 用于在块中删除的存储过程-LOOP未执行 1 年前 |
|
John Beasley · 更新一定数量记录的连续日期 1 年前 |
|
|
ColinM · MySQL以前的结果查询返回不正确的值 1 年前 |
|
Sergey_Z · MySQL只需无条件连接2个表和交叉连接 1 年前 |