[分享]当您查询通过 SQL Server 2008 中使用 ORDER BY 子句的视图时, 结果仍中返回随机顺序的补丁 20perfectaction]

发布时间:2016-12-7 3:48:21 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"[分享]当您查询通过 SQL Server 2008 中使用 ORDER BY 子句的视图时, 结果仍中返回随机顺序的补丁 20perfectaction]",主要涉及到[分享]当您查询通过 SQL Server 2008 中使用 ORDER BY 子句的视图时, 结果仍中返回随机顺序的补丁 20perfectaction]方面的内容,对于[分享]当您查询通过 SQL Server 2008 中使用 ORDER BY 子句的视图时, 结果仍中返回随机顺序的补丁 20perfectaction]感兴趣的同学可以参考一下。

SQL Server 2005 或 SQL Server 2008 中的数据库中有一个视图。 视图的定义中, SELECT 语句满足以下要求:     * SELECT 语句使用 TOP 的 (100) 百分比表达式。     * SELECT 语句使用 ORDER BY 子句。 您查询通过视图,以随机顺序返回结果。 但是,此行为与 Microsoft SQL Server 2000 中不同。 在 SQL Server 2000,ORDER BY 子句中指定的顺序返回结果。 相关文档: http://support.microsoft.com/default.aspx?scid=kb;en-us;926292&sd=rss&spid=2855 http://support.microsoft.com/?scid=kb%3Bzh-cn%3B926292&x=7&y=14

sql server 2008 sp1 CTP https://www.microsoft.com/downloads/details.aspx?FamilyID=6f26fc45-f0ca-49cf-a6ee-840c7e8bb8af&displaylang=en

.....

没人关注结贴了 

关注  

关注  

关注  

2000是个bug  视图是表的隐射 本身没任何排序可言只有物理 行的位置 请参考 sql ansi 1998

你可以在查询 视图的时候用order by 但你不可以去指定表映射的 位置 就算你order by 了 view 映射的还是 物理行的位置 还有 聚集索引 和非聚索引 以前谈论的都是错误的 在堆里面 非聚指针指向的是 数据的区号 页号 行号  在有聚集索引的 表里面非聚指针指向的是聚集索引的 键值 所以在查询一个有聚集和非据表时候 会优先查询 非据 然后指向键值  比直接差聚集 少读取2层数据叶。 over

很多人认为索引重建是不影响的 。。真不知道是谁说的。。。 每次在有聚集 索引和非据索引的表 聚集索引的重建=2次非据索引的重建。 因为指针类型不一样了。

引用 7 楼 wlzd3636 的回复:2000是个bug 视图是表的隐射 本身没任何排序可言只有物理 行的位置 请参考 sql ansi 1998 2000 bug ? 你的意思是说微软出hotfix来让sql 2005/2008继续bug ?

引用 8 楼 wlzd3636 的回复:你可以在查询 视图的时候用order by 但你不可以去指定表映射的 位置 就算你order by 了 view 映射的还是 物理行的位置 还有 聚集索引 和非聚索引 以前谈论的都是错误的 在堆里面 非聚指针指向的是 数据的区号 页号 行号 在有聚集索引的 表里面非聚指针指向的是聚集索引的 键值 所以在查询一个有聚集和非据表时候 会优先查询 非据 然后指向键值 比直接差聚集 少读取2层数据叶。 over 一直都是这样讨论的啊,你和谁讨论成别的了?

引用 9 楼 wlzd3636 的回复:很多人认为索引重建是不影响的 。。真不知道是谁说的。。。 每次在有聚集 索引和非据索引的表 聚集索引的重建=2次非据索引的重建。 因为指针类型不一样了。 重建聚集索引干啥,它本身又没有碎片. 聚集索引的重建=2次非据索引的重建,这个是谁说的? 应该说重建聚集索引会使所有的非聚集索引重建,以便生成新书签,这个过程是非聚集叶子层键值由聚集键变成rid,再由rid变成聚集键的过程. 不过sql2005/2008里有 drp_existing已经可以控制这个问题了。

上一篇:第一天来。。先报道呵呵。。。ORECAL高手请指教 0judia888]
下一篇:[分享]数据库备份脚本/对指定文件夹下数据库全备生成恢复脚本 100perfectaction]

相关文章

相关评论