gpt4 book ai didi

java - 批量执行多个sql语句的问题?

转载 作者:行者123 更新时间:2023-11-29 22:09:57 24 4
gpt4 key购买 nike

我正在 Java 中使用 mysql。

基本上,我有多个查询,每个查询在数据库中创建一个表,以及一个用于调整我的属性之一的自动增量初始值的 ALTER 语句。我将这些查询作为事务执行——即要么全部提交到数据库,要么都不提交。但为此,我为每个查询创建了一个单独的 Statement(总共 8 个)并执行每个查询。之后,我提交所有结果。然后我必须关闭每个Statement

但这似乎效率很低。许多语句。所以我想知道批处理方法是否有效。我担心的是批处理方法会同时执行所有查询,并且由于我有引用完整性约束和 ALTER 查询,所以表之间存在依赖性 - 因此顺序它们是由什么创造的很重要。这不正确吗?我是否误解了批处理语句的工作原理?

如果我上面的逻辑是正确的,那么我是否应该将一些查询分组在一起(不相关)并使用批处理方法来执行它们。这将减少我的语句数量。

最佳答案

我认为你不能批处理 DDL (即创建删除更改)。另外,从性能角度来看,要求动态DDL并不是一个好主意。

您可以批处理DML使用 Statement.addBatch(String) 的语句(即selectinsertupdatedelete语句),然后调用 Statement.executeBatch() .

关于java - 批量执行多个sql语句的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31777863/

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