ホームページ >バックエンド開発 >PHPチュートリアル >SQL Server でストアド プロシージャを使用して高パフォーマンスでページングを実行する_PHP チュートリアル

SQL Server でストアド プロシージャを使用して高パフォーマンスでページングを実行する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:01:59799ブラウズ

ページング クエリにはさまざまな方法がありますが、ここではそれらを紹介します。
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


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631086.html技術記事ページング クエリにはさまざまな方法がありますが、ここではそれらを紹介します。 SQL Server には Set Rowcount 設定があります。これは、コマンド処理が応答で指定されていることを意味します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。