sql-server-2005 – 在SQL Server 2005中分析非常大的结果集的有
编辑:我还在守候更多谜底.感谢! 在SQL 2000天,我曾经行使姑且表要领,您在个中建设具有新标识列和主键的姑且表,然后选择A和B之间的标识列. 当SQL 2005呈现时,我发明白Row_Number(),从那往后我一向在行使它… 但此刻,我发明Row_Number()存在严峻的机能题目. 您在SQL 2005上行使什么分页大型功效集? 就我而言,我必要可以或许按日期范例列对功效集举办排序…对付我的出产Web应用措施. 让我知道你在SQL 2005顶用于高机能分页的内容.我也想知道一种建设索引的智慧要领.我猜疑选择正确的主键和/或索引(聚集/非聚集)将在这里施展重要浸染. 提前叩谢. 附:有谁知道stackoverflow行使什么? 编辑:我看起来像…… SELECT postID,postTitle,postDate FROM (SELECT postID,postDate,ROW_NUMBER() OVER(ORDER BY postDate DESC,postID DESC) as RowNum FROM MyTable ) as DerivedMyTable WHERE RowNum BETWEEN @startRowIndex AND (@startRowIndex + @maximumRows) - 1 postID:Int,Identity(自动增量),主键 postDate:DateTime 编辑:每小我私人都行使Row_Number()? 办理要领好吧,对付您的示例查询,假如您在PostDate字段上有索引,则ROW_COUNT应该很是快,稀有千行.假如不这样做,处事器必要在PK上执行完备的聚簇索引扫描,现实上加载每个页面,获取PostDate字段,按其排序,确定要为功效集提取的行,然后再次获取这些行.它是一种一遍又一各处建设姑且索引(你也许会在平凡中看到一个表/索引假脱机).难怪你获得超时. 我的提议:在PostDate DESC上配置一个索引,这是ROW_NUMBER将要颠末的 – (ORDER BY PostDate DESC,…) 至于你所指的那篇文章 – 我已往做了许多分页和SQL Server 2000的对象而没有ROW_COUNT,文章中行使的要领是最有用的要领.它并不合用于全部环境(您必要独一或险些独一的值).其他一些要领的概述是here. . (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |