論壇上常見到文章列表或內文回覆,
都有分頁的功能,
有些是使用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存在,而且程式碼比較長.
(暫存表使用的是主機記憶體,效率也是不錯的,只是程式習慣上不會如此使用)
全站熱搜