<P>通過執(zhí)行計劃分析來看,使用 ROW_NUMBER() 的時候,好像沒有利用非聚集索引</P> <P>with t_pager as (<BR> select *,myIndex = ROW_NUMBER() OVER (ORDER BY Empcode ) FROM Employee <BR> where EmpTypeID = 2</P> <P>)<BR>SELECT * from t_pager WHERE myIndex between 11 and 20;</P> <P>Empcode ,EmpTypeID 這兩個字段加不加非聚集索引,計劃分析的結(jié)果都是一樣的。只有按照主鍵排序,計劃分析才會不一樣。</P> <P>分頁結(jié)果倒是正確的。效率好像還很高。嚴(yán)重不解中。</P> <P> </P>問題補(bǔ)充: 默認(rèn)的情況,主鍵都是聚集索引呀。除非單獨設(shè)置。 排序是非常咱用資源的呀,利用索引的話,就可以節(jié)省很多的資源,這個對于分頁是很重要的! 聚集索引的話,正序和倒序執(zhí)行計劃都是一樣的。不知道你有沒有看過,我剛剛看過了,一樣的。 ============= 服了你了。感謝你來捧場。 EmplID就是主鍵,就是默認(rèn)的。是聚集索引。 如果是其他的分頁算法,那么就可以利用非聚集索引了。
ROW_NUMBER() 分頁的時候,好像沒有利用非聚集索引
慕慕森
2018-12-03 14:12:44