案例 - 資料分頁
出自ProgWiki
資料分頁的功能在 Web 應用程式常用到,只是為了簡化前端的程式碼,選擇了在 SQL 內部做分頁的處理,到底能提升多少效能也不敢保證。
PostgreSQL 資料分頁實作例子:
CREATE OR REPLACE FUNCTION mytable_list(ps bigint, page bigint) RETURNS SETOF mytable AS $BODY$DECLARE rs mytable; BEGIN FOR rs IN SELECT * FROM mytable LIMIT ps OFFSET ps*(page-1) LOOP RETURN NEXT rs; END LOOP; END;$BODY$ LANGUAGE 'plpgsql' VOLATILE; ALTER FUNCTION mytable_list(ps bigint, page bigint) OWNER TO somebody;
- 引數說明:
- ps - 設定每一頁的資料列數量
- page - 指定目前讀取的頁碼