我有疑问,在select查询中一次选择了多少条记录,这意味着在sql 2K,2k5,2k8中选择recods的最大限制是什么。
先谢谢。
答案 0 :(得分:3)
我在SQL服务器方面没有关于你可以选择多少行的硬限制。如果你可以插入它们,你可以同时读出它们。 但是,如果您当时选择了数百万行,则可能会遇到诸如客户端内存不足或连接超时等问题,然后才能传输您选择的所有数据。
答案 1 :(得分:0)
我不相信选择行有内置'限制',它将归结为SQL服务器耗尽的架构(即32位/ 64位,内存可用等)当然你可以选择数百个数千行没有问题。
但是......如果你发现自己要求数据库中的那么多行,你应该优化你的代码/存储过程,这样你一次只能检索一个子集。
答案 2 :(得分:0)
正如@paolo所说,没有SQL定义的硬限制;您可以使用LIMIT关键字在查询中指定限制(尽管这取决于数据库)。
但是,有一点很重要:使用实际数据库服务器执行SELECT查询通常不实际上将数据从服务器传输到客户端,或者将所有内容加载到内存中。查询通常将游标放入结果集中,并且当客户端遍历结果集时,将从服务器获取更多行,通常是以块为单位。因此,除非客户端明确地将结果集中的所有数据复制到内存中,否则不会发生这种情况。
这完全取决于数据库,在许多情况下,驱动程序允许调整块大小等。