我一直听到有人说使用游标有问题,这在Microsoft SQL Server中尤其如此,因为它们非常慢。 MySQL上的Cursors也是这种情况吗? MySQL中的游标是否也会降低性能?有人可以请教在MySQL中使用游标吗?MySQL上的游标 - 好还是坏
回答
大多数现代数据库(包括MySQL)都设计用于执行基于集合的操作。游标的问题是它们执行基于行(或程序)的操作。正因为如此,当您使用游标执行可以在现代DBMS上不使用游标的情况下完成的工作时,您几乎总能看到性能下降。
看一看this article,这两个人都做得不错。它是用SQL Server编写的,但大部分概念都适用。
哇......真是太棒了!我会尝试尽我所能去理解SQL中的“基于集合”和“程序化”方法,以及为什么“基于集合”的方法更好。我相信我可以在了解了所有情况后获得证书。 –
游标本质上是迭代的 - 无论数据库类型如何,它们肯定会变慢。因此,您应该尽一切可能避免它们,并尝试使用SQL查询来查找解决方案。然而,它们存在着查询无法解决的问题 - 所以只有在绝对必要时才使用它们。
与“什么”相比,“定义较慢”? –
umm与非基于cursur的解决方案相比较 - “直接sqls”,如果有可能的话。我不知道这是不是很明显 –
哦,原谅,我不知道'直接sqls'是什么。所以我不能给出任何答案,如果两者相互比较,他们是更好还是更差。 –
只需创建并填写临时表。无论如何,这就是大多数RDBMS的实现游标。
- 1. IDENTITY列 - 好还是坏?
- 2. 多表好还是坏?
- 3. 用NSUserDefault保存游戏进度:好还是坏主意?
- 4. PHP MVC中的BaseModel,好还是坏?
- 5. HTML表单的好还是坏?
- 6. ASP MVC HTML助手 - 好还是坏?
- 7. 粘滞会话:好还是坏?
- 8. 春季注释 - 好还是坏?
- 9. 存储库模式:好还是坏?
- 10. MVC企业领域 - 好还是坏?
- 11. 使用访问器:好还是坏?
- 12. php:将图像存储到Mysql blob中,好还是坏?
- 13. 在源代码中显示MySQL行ID:好还是坏?
- 14. HTML:错误输入好还是坏?
- 15. 实用程序类别..好还是坏?
- 16. 连接池战略:好,坏还是丑?
- 17. 方法重载 - 设计好还是坏?
- 18. 可选参数,好还是坏?
- 19. 继承C:好,坏,还是其他?
- 20. 后构建提交:好还是坏?
- 21. Gridview分页好还是坏 - 性能
- 22. Gtk +布局表格 - 好还是坏?
- 23. 这种方法是增加MySQL性能的好主意还是坏主意?
- 24. 对于大型数据库,索引是好还是坏?
- 25. WCF中的'ref'参数是坏的还是好的?
- 26. 在已经散列的值上使用HMAC,是好还是坏的做法?
- 27. 如何检查我的汇总查询是好还是坏?
- 28. 在mysql中解释更高的行数是好还是不好?
- 29. 在构造函数中包装是好还是坏?
- 30. DataContractJsonSerializer的静态实例 - 好的还是坏的设计?
这很大程度上取决于您有什么替代方案。 – Mchl
替代品?如果您询问关于不同数据库类型的决定,那么答案是 - none ... :-( –
否。如果'您的游标对您来说太慢,您还能使用什么?'的替代选项。例如,您可以使用某种脚本语言从数据库中提取数据,在那里处理数据并将数据包放入数据库(如果需要的话)。这可能会或可能不会比光标更快 - 取决于许多因素。 – Mchl