我想找到最快的方法(处理数千行)来执行以下查询:
我有一个SQL Server表,名为“an”。这是表格的结构:
我希望找到一个非常快速的查询来选择所有按日期和ID排序的列,其中两个新列名为“RowNumber”和“PageNumber”。这就像一个分页,每页5行。如果IsLastLineOfPage = 1的值,那么即使页面没有满,下一行“PageNumber”也必须递增,“RowNumber”必须重置为1。
链接此处:http://i.stack.imgur.com/vyZh6.png
我不知道要做这个…谢谢!
发布于 2013-05-06 20:48:31
由于结果集是有序的,所以它很可能永远不会很快。确保事情保持尽可能快的一种方法是确保尽可能少的行具有完全相同的日期。将索引添加到用于排序的列中也可能有帮助。要获得结果(取决于所使用的语言/SQL驱动程序),最好使用结果集游标。游标在服务器上收集结果,但每次只将结果发送回客户端一个页面。通常可以指定页面大小。但是,如何做到这一点是特定于语言和驱动程序的。
https://stackoverflow.com/questions/16406085
复制相似问题