我在存储过程中有一个 delete 语句,它从单个表中删除许多行(但不删除整个表)。
我希望从 LOCK TABLES
语句可能的性能优势中受益,以便强制表写锁定,但这在存储过程中是不允许的。该语句在会话级别工作。
我能做的是,确保调用存储过程的客户端执行表锁;但我宁愿在存储过程中控制它。
有没有其他选择?
您可以使用START TRANSACTION
和COMMIT
START TRANSACTION;
--Make your operation
COMMIT;