ホームページ >バックエンド開発 >PHPチュートリアル >SQL Server でストアド プロシージャを使用して高パフォーマンスでページングを実行する_PHP チュートリアル
ページング クエリにはさまざまな方法がありますが、ここではそれらを紹介します。
SQL Server には Set Rowcount 設定があり、指定された行数に応答した後にコマンドの処理を停止することを意味します。この機能を使用して、数千万行レベルのデータに実装できます。テーブルの高パフォーマンスのページング クエリ。まず実装方法について説明します:
1. テーブルにインデックス付けされた主キー フィールド ID (整数型) があると仮定します。このフィールドに従ってページング用のデータを取得します。
2. @PageSize にページサイズを入れます
3. @CurrentPage に現在のページ番号を入れます
4. 取得したいデータの先頭の行までレコードポインターを素早くスクロールする方法は次のとおりです。鍵! Set RowCount を使用すると、簡単に実装できます。
5. フェッチするデータの先頭の行までレコード ポインタを正常にスクロールし、その行にレコードの ID フィールドの値を記録すると、Top と条件を使用して次のことができます。簡単に取得 ページデータを指定します。もちろん、Set RowCount を使用する場合でも、Top を使用しますか?
Set Rowcount がどのように役立つかを見てみましょう:
@ID int を宣言
@MoveRecords int を宣言
-- @CurrentPage と @PageSize は受信パラメータです
Set @MoveRecords=@CurrentPage * @PageSize 1
-- 以下 2 行を簡単に説明します取得したいデータの行までスクロールし、ID を記録します
Set Rowcount @MoveRecords
Select @ID=ID from Table1 ID で並べ替え
Set Rowcount @PageSize
-- トラブルを軽減するための最も嫌われている使用方法* ですが、ここでは説明の都合上、一時的に
Select * From Table1 Where ID>=@ID Order By ID
Set Rowcount 0
1,000W のレコードがあるテーブルで、ページを素早くめくることができるので試してみます。 100 (1 ページあたり 100 項目) を実行すると、どれだけ速いかがわかります。
出典: 南風ブログ
http://name-lh.cnblogs.com/archive/2006/03/08/346059.html