gpt4 book ai didi

java - JDBC 的极限

转载 作者:太空宇宙 更新时间:2023-11-04 06:13:12 26 4
gpt4 key购买 nike

我正在使用 java.sql.Connection.setAutoCommit(false)java.sql.PreparedStatement.addBatch() 进行一些批量插入。我猜测在提交之前可以安全执行多少正确的插入/更新语句?例如,在提交之前执行 100.000 次插入可能会导致 JDBC 驱动程序投诉或内存泄漏或其他问题?我想在提交之前我可以执行的语句数量是有限制的,我在哪里可以找到这样的信息?

最佳答案

DML 语句的数量没有限制。您推送到数据库的每个INSERT/UPDATE/DELETE实际上仅在数据库中进行跟踪。所以不会像你提到的那样出现任何内存泄漏。 JDBC 中的内存泄漏通常仅与未关闭的结果集或准备好的语句有关。

但另一方面,没有 COMMIT 的大量 DML 操作可以在数据库中进行大量日志记录。这可能会影响其他操作的性能。当您在执行 INSERT 数百万次之后发出 COMMIT 时,INDEX 分析、数据复制(如果有)等其他操作会给 DBMS 带来更多开销。这些要点仍然完全是DBMS特定的。 JDBC 驱动程序与此无关。

关于java - JDBC 的极限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28451114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com