DELETE查询卡住/耗时太长

时间:2012-07-19 12:00:26

标签: mysql database sql-delete ibatis delete-row

我有一个大表(近200万条记录),有4列。所有这些都是DECIMAL。

FIELD1 DECIMAL,
FIELD2 DECIMAL,
FIELD3 DECIMAL,
FIELD4 DECIMAL

FIELD1是我的PK。 FIELD3有一个INDEX。

我的删除查询存在问题。

DELETE FROM MY_TABLE where FIELD1= <const>;

当我用ssh连接到服务器机器并运行命令时 - 它成功了! 但是,我有一个带有iBatis命令的java进程,并且在运行SAME delete命令时 - 它在状态更新时停留在MySQL服务器上。

mysql> show processlist;

| Query   |   278 | updating | delete from MYTABLE where FIELD1 = 'D' |

我试图运行优化表和分析表,但它没有帮助。 我试图重新创建表格 - 但同样,它没有帮助。

可能是什么问题?为什么delete命令直接在服务器上成功?而不是在用iBatis执行时?

我有另一个表,有类似的问题 - 那里 - 服务器上的删除,花费很短的时间,但从iBatis执行时需要7秒。完成!!

可能是什么问题? 如何改进那些删除命令???

更新

我编写了一个简单的java进程(打开jdbc连接和执行语句),在没有iBatis的情况下执行相同的'delete'命令 - 它运行完美!

这意味着它与iBatis有关......它有什么用?

0 个答案:

没有答案