論壇上常見到文章列表或內文回覆,

都有分頁的功能,

有些是使用Web Server作的,

但如果資料量大的時候Web Server就要Cache一堆資料在Memory,

那麼要改善這方面的事情,就需要在SQL Server裡作分頁.


Mysql作法

Select col1, col2 from table where ... limit start_loc, offset

MSSQL複雜一點點

row_number() ->

select col1, col2

from ( select col1, col2, row_number() over (order by col3) rn from table where ... ) as tmp 

where rn between 11 and 20

top + order by + not in  -> 這方法,會查詢兩次,並不推薦

暫存表 -> 一般不會再程式值皆使用TSql實用這個方式,亦必要Keep Session存在,而且程式碼比較長.
(暫存表使用的是主機記憶體,效率也是不錯的,只是程式習慣上不會如此使用)

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 abcg5 的頭像
    abcg5

    Aaron Yang

    abcg5 發表在 痞客邦 留言(0) 人氣()