java执行语句有很长的延迟
我有个问题。当我尝试在Sybase中插入一些数据时,我有很长的延迟:
2017-11-20 20:30:10324[调试][]将数据保存到表中
2017-11-20 21:30:28245[调试][]完成
一小时,卡尔
String query = "INSERT INTO {0}table (id, doc_id, num_doc, amount, unload_date, status) VALUES (?, ?, ?, ?, ?, ?)";
pstmt = lib.getConnection().prepareStatement(MessageFormat.format(query, "my_schema"));
pstmt.setLong(1, id);
pstmt.setLong(2, docId);
pstmt.setString(3, numDoc);
pstmt.setBigDecimal(4, amount);
pstmt.setDate(5, new Date());
pstmt.setInt(6, 0);
pstmt.execute();
为什么会有这样的想法
# 1 楼答案
如果查询运行缓慢,我建议检查查询是否也从其他客户端(如isql)运行
第二步是检查这是否与网络有关,并且在本地运行isql时插入是否也很慢
如果查询仍然缓慢,则这可能是与数据库相关的缓慢设计,如:
我将使用设置运行插入
并检查I/O的数量是否低。如果处理大型扫描,则会产生信息
如果上述任何一项都不起作用,那么您需要检查哪个数据库等待事件导致操作变慢。运行以下代码以调查等待事件:
可能需要额外的MDA配置。查询将显示导致操作变慢的事件的相关信息