sql2000,千萬級大資料量分頁儲存過程效率測試附程式碼
在專案中,我們經常遇到或用到分頁,那麼在大資料量(百萬級以上)下,哪種分頁演算法效率最優呢?我們不妨用事實說話。
測試環境
硬體:CPU 酷睿雙核T5750 記憶體:2G
軟體:Windows server 2003 + Sql server 2005
OK,我們首先建立一資料庫:data_Test,並在此資料庫中建立一表:tb_TestTable
1createdatabase data_Test --建立資料庫data_Test 2GO 3use data_Test4GO 5createtable tb_TestTable
7 id intidentity(1,1) primarykey,
8 userName nvarchar(20) notnull,
9 userPWD nvarchar(20) notnull,
10 userEmail nvarchar(40) null11)
12GO 複製程式碼
然後我們在資料表中插入2000000條資料:
1--插入資料 2setidentity_insert tb_TestTable on 3declare@countint 4set@count=1 5while@count8 set@count=@count+1 9end10setidentity_insert tb_TestTable off 複製程式碼
我首先寫了五個常用儲存過程:
1,利用select top 和select not in進行分頁,具體程式碼如下:
1createprocedure3 @pageIndexint, --頁索引 4@pageSizeint--每頁記錄數 5)
6as 7begin 8 set nocount on;
9 declare@timediffdatetime--耗時 10
相關推薦
sql2000,千萬級大資料量分頁儲存過程效率測試附程式碼
在專案中,我們經常遇到或用到分頁,那麼在大資料量(百萬級以上)下,哪種分頁演算法效率最優呢?我們不妨用事實說話。 測試環境 硬體:CPU 酷睿雙核T5750 記憶體:2G 軟體:Windows server 2003 + Sql server 2005 OK
大資料量分頁儲存過程效率測試
我首先寫了五個常用儲存過程: 1,利用select top 和select not in進行分頁,具體程式碼如下: CREATE PROCEDURE Proc_paged_with_notin --利用select top and select n
MySQL大資料量分頁查詢方法及其優化 MySQL大資料量分頁查詢方法及其優化
MySQL大資料量分頁查詢方法及其優化 ---方法1: 直接使用資料庫提供的SQL語句---語句樣式: MySQL中,可用如下方法: SELECT * FROM 表名稱 LIMIT M,N ---適應場景: 適用於資料量較少的情況(元組百/千級) --
解決mongodb大資料量分頁查詢效率問題
最常見的分頁採用的是skip+limit這種組合方式,這種方式對付小資料倒也可以,但是對付上幾百上千萬的大資料,只能力不從心,skip如果跳過大量的資料會很慢,並且會越查越慢,針對這一情況,可以通過條件查詢+排序+限制返回記錄,即 邊查詢,邊排序,排序之後,抽取上一頁中的最後一條記錄,作為當前分
mongodb大資料量分頁查詢效率問題
最常見的分頁採用的是skip+limit這種組合方式,這種方式對付小資料倒也可以,但是對付上幾百上千萬的大資料,只能力不從心,skip如果跳過大量的資料會很慢,並且會越查越慢。 //程式碼大概看下意思就行了 const list = db.getCollection('se
MySQL大資料量分頁查詢方法及其優化 ---方法1: 直接使用資料庫提供的SQL語句 ---語句樣式: MySQL中,可用如下方法: SELECT * FROM 表名稱 LIMIT M,N ---適
測試實驗 1. 直接用limit start, count分頁語句, 也是我程式中用的方法: select * from product limit start, count 當起始頁較小時,查詢沒有效能問題,我們分別看下從10, 100, 1000, 10000開始分頁的執行時間(每頁取20條), 如
Mysql千萬級大資料量查詢優化
1.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。2.應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如:select id from t where num i
mysql 大資料量分頁優化
假設有一個千萬量級的表,取1到10條資料; select * from table limit 0,10; select * from table limit 1000,10; 這兩條語句查詢時間應該在毫秒級完成; select * from table limit
MySQL大資料量分頁查詢方法及其優化
方法1: 直接使用資料庫提供的SQL語句 語句樣式: MySQL中,可用如下方法: SELECT * FROM 表名稱 LIMIT M,N 適應場景: 適用於資料量較少的情況(元組百/千級) 原因/缺點: 全表掃描,速度會很慢 且 有的資料庫結果集返回不穩定(如某次返回
SQL大資料量分頁效能優化
目前在進行web api只讀介面的改造,在改造過程中,發現改在後響應時間和之前區別不是很大,通過測試結果顯示在sql的分頁功能處找到原因,並對其進行優化,優化方案如下。測試內容此次執行時間對比採用平臺資金記錄最多的使用者 user_id 36062測試次數未5次 為避免索引
Displaytag使用與應用displaytag完成大資料量分頁顯示的例子
Display Tag Lib是一個標籤庫,用來處理jsp網頁上的Table,功能非常強,可以對的Table進行分頁、資料匯出、分組、對列排序等等,反正我在做專案時需要的功能它都給我提供了,而且使用起來非常的方便。能夠大大減少程式碼量。 介個是Display Tag
大資料量分頁優化--延遲查詢
延遲關聯 select * from it_area where name like '%東山%';+------+-----------+------+ | id | name | pid | +------+-----------+------+ |
MySQL大資料量分頁SQL語句優化
分頁程式原理很簡單,這裡就不多說了,本篇文章主要說的是在資料表記錄量比較大的情況下,如何將分頁SQL做到更優化,讓MySQL執行的更快的方法。 一般的情況下,我們的分頁SQL語句是這樣的:
【資料庫效能測試實戰】測試不同分頁儲存過程在10w,100w以及1000w資料量下面的表現
前言 資料庫的效能與每一行程式碼息息相關,所以,每次寫程式碼可以考慮一下在不同級別的資料量下面測試一下效能。 本文參考了: Postgresql生成大量測試資料 以及 準備測試用資料 此次測試我們將分別用10w,100w以及1000w級別的表來測試,下面先建立
SQL Server百萬級大資料量刪除
刪除一個表中的部分資料,資料量百萬級。 一般delete from 表 delete from ysh where date<’2016-06-21’ ; 此操作可能導致,刪除操作執行的時間長;日誌檔案急速增長; 針對此情況處理 delete to
Sql2000 版通用分頁儲存過程
CREATEPROCEDURE sys_QuickSortPaging( @Tablenvarchar(4000), --表名(必須)@PrimaryKeyFieldnvarchar(50),
多表查詢千萬數量級分頁儲存過程,可支援多表查詢,任意排序
Create PROCEDURE usp_PagingLarge @TableNames VARCHAR(200), --表名,可以是多個表,但不能用別名 @PrimaryKey VARCHAR(100), --主鍵,可以為空,但@Order為空時該值不能為
C++標準模板庫中list大資料量情況下析構效率的研究
list在程式設計中是一種十分常用的序列式容器,如果你的程式更注重容器以下特性時,list可謂首選容器: 1、資料按原本順序儲存(不需要排序) 2、容器可以高效在任意位置插入、刪除資料 3、迭代器不會因插入與刪除等操作而失效(當然被刪除元素的迭代器除外) 4、不需要隨機訪問
mysql分頁儲存過程一步一步實現
1. CREATE DEFINER=`root`@`localhost` PROCEDURE `P_HoverTreePages`( IN `TableName` VARCHAR(200), IN `FieldList` VARCHAR(2000) , IN `Pr
Vs呼叫分頁儲存過程
/// <summary> /// 顯示+分頁+模糊查詢 /// </summary> &n