gpt4 book ai didi

mysql - 事务是否像大查询?

转载 作者:搜寻专家 更新时间:2023-10-30 21:52:41 25 4
gpt4 key购买 nike

我知道就效率而言,一个大查询比许多小查询更好,因为最好将与数据库的连接量减少到最低限度(尤其是在网络流量大的情况下)。

所以我的问题是,除了隔离和原子化一组数据库操作(并在其中一个失败时进行回滚)之外,事务行为是否像一个大查询?我的意思是,如果你需要做很多数据库操作,你能把它包装在一个事务中,然后把它变成一个单一的大操作吗?

最佳答案

不,如果我明白你在问什么。您可以将事务视为在数据库历史记录中设置检查点,因此如果事务中的任何单个操作失败,数据库状态可以恢复到检查点。这是一个很大的简化,但从概念上讲,这就是事务的工作方式。

在事务中,各个查询分别执行。

“用一个大查询代替许多小查询”并不总是更好或更有效。这取决于查询是什么。在一个大查询中请求一组行比一次请求一个行更有效。我实际上已经看到执行此操作的代码(伪代码):

SELECT id FROM people WHERE ... ORDER BY lastname;

for each (id) {
SELECT firstname, lastname, phone from people WHERE id = {id};
...
}

这样效率会高很多

SELECT id, firstname, lastname, phone FROM people WHERE ... ORDER BY lastname;

关于mysql - 事务是否像大查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10546488/

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