gpt4 book ai didi

sql - 为什么基于关系集的查询比游标更好?

转载 作者:行者123 更新时间:2023-12-04 13:00:09 24 4
gpt4 key购买 nike

在用TSQL或PLSQL之类的方式编写数据库查询时,我们通常可以选择使用游标遍历行来完成任务,或者设计一条SQL语句一次完成全部工作。

同样,我们可以选择简单地将一大组数据拉回到我们的应用程序中,然后使用C#或Java或PHP或其他东西逐行处理它。

为什么使用基于集合的查询更好?这种选择背后的理论是什么?什么是基于游标的解决方案及其等效关系的良好示例?

最佳答案

我知道的主要原因是引擎可以通过跨多个线程运行基于集合的操作来优化它们。例如,考虑一下快速排序-您可以将要排序的列表分成多个“块”,然后在各自的线程中分别对它们进行排序。 SQL引擎可以在一个基于集合的查询中对大量数据执行类似的操作。

当您执行基于游标的操作时,引擎只能按顺序运行,并且该操作必须是单线程的。

关于sql - 为什么基于关系集的查询比游标更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24168/

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