今天早上查看数据表的时候发现,数据表中多了一条数据(这条数据不应该存在),像往常一样用delete where语句删除这条语句,中间卡了一下,然后一直显示正在执行中 先前也遇到过类似的情况,但是那时是因为,我删除数据没有提交事务,这次不一样,删除不了,一直卡在这里,点击取消后,有没有事务的提交与回滚。开始怀疑是因为其它的人正在操作了这张数据表,造成了琐表,就等了一段时间,后来发现还是这样的情况,没办法只好百度找解决办法,问题来了到底是琐表造成的原因,还是另有其它的原因呢?出现这种情况,大致可以分为几种: 1.因为数据量过大,造成数据删除缓慢 2.sql语句使用了for update,没有提交事务 3.其它的人正在操作这张数据表,造成琐表 排除1,2,解决办法找到琐表原因,结束进程。 一下来自百度----------------------------- 解决办法
-- 查出被锁的表,和锁住这个表的会话ID Sql代码
Sql代码
-- 查出对应的SQL语句 Java代码
--查看是哪个session引起的 Sql代码
--杀进程 Sql代码
ok,现在问题搞定了
|
|