日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle千万级分页优化,oracle千万级数据分页存储过程优化

發布時間:2024/9/30 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle千万级分页优化,oracle千万级数据分页存储过程优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

隨著數據量的增加,Oracle數據庫分頁存儲過程(使用rownum分頁)查詢性能越來越差,查詢時間也越來越長,于是優化勢在必行,結合用戶一般使用特點(一般看前幾頁的較多),于是以此為切入點優化原先的存儲過程,在WHERE條件中增加rownum<=pageindex*pageSize,減少首次過濾的數據量,調整后的存儲過程如下:

CREATE OR REPLACE PACKAGE DotNet is

TYPE type_cur IS REF CURSOR; --定義游標變量用于返回記錄集

PROCEDURE DotNetPagination_New(Pindex in number, --分頁索引

Psql?? in varchar2, --產生dataset的sql語句

Psize? in number, --頁面大小

v_cur? out type_cur --返回當前頁數據記錄

);

procedure DotNetPageRecordsCount_New(Psqlcount in varchar2, --產生dataset的sql語句

Prcount?? out number --返回記錄總數

);

end DotNet_New;

CREATE OR REPLACE PACKAGE BODY DotNet is

PROCEDURE DotNetPagination(Pindex in number,

Psql?? in varchar2,

Psize? in number,

v_cur? out type_cur) AS

v_sql??? VARCHAR2(4000);

v_count? number;

v_Plow?? number;

v_Phei?? number;

v_Appsql varchar2(1000);

Begin

v_Phei?? := Pindex * Psize + Psize;

v_Plow?? := v_Phei - Psize + 1;

--優化的地方--------------

v_Appsql := '';

if (Pindex < 1000) then

v_Appsql := ' and rownum <= ' || v_Phei;

end if;

v_sql := 'select * from (' || Psql || v_Appsql ||

') where rn between ' || v_Plow || ' and ' || v_Phei;

----------------------------

--原方法v_sql := 'select * from (' || Psql ||? ') where rn between ' || v_Plow || ' and ' || v_Phei;

open v_cur for v_sql;

End DotNetPagination;

procedure DotNetPageRecordsCount(Psqlcount in varchar2,

Prcount?? out number) as

v_sql???? varchar2(4000);

v_prcount number;

begin

v_sql := 'select count(*) from (' || Psqlcount || ')';

execute immediate v_sql

into v_prcount;

Prcount := v_prcount;

end DotNetPageRecordsCount;

end DotNet;

總結

以上是生活随笔為你收集整理的oracle千万级分页优化,oracle千万级数据分页存储过程优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。