1

我有一个有 4 列的大表(几乎 200 万条记录)。它们都是十进制的。

FIELD1 DECIMAL,
FIELD2 DECIMAL,
FIELD3 DECIMAL,
FIELD4 DECIMAL

FIELD1是我的PK。 FIELD3上面有一个索引。

我有删除查询的问题。

DELETE FROM MY_TABLE where FIELD1= <const>;

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

mysql> show processlist;

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

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

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

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

可能是什么问题?我怎样才能改进那些删除命令???

更新:

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

这意味着它与 iBatis 相关……它可能是什么?

4

0 回答 0