MySQL、Oracle、SQL Server のページングクエリ例の分析

MySQL、Oracle、SQL Server のページングクエリ例の分析

最近、Oracle、MySQL、SQL Server 2005 のデータ ページング クエリについて簡単な調査を行い、それぞれのクエリ ステートメントを投稿して、誰でも学習できるようにしました...

(I) MySQLのページングクエリ

MySQL のページング クエリは最も簡単です。キーワード制限を使用してクエリを実行できます。一般的なクエリ ステートメントは次のとおりです。

o.*from(sql) o limit firstIndex,pageSizeを選択します

次のスクリーンショットに示すように、ページごとに表示されるレコード数は 20 です。

これらの20件のレコードをクエリ(1-20)

これらの 20 件のレコード (21-40) をクエリします


MySQL ページング クエリは非常にシンプルです...

(II) sqlserver2005のページングクエリ

SQL Server 2005 より前では、top キーワードを使用してページング クエリを実装していましたが、効率が低かったです。SQL Server 2005 以降のバージョンでは、row_number() 分析関数を使用してページング クエリを完了し、効率が大幅に向上しました。ただし、SQL ステートメントはより複雑です。ページング クエリの一般的な式は次のとおりです。

selecttoppageSizeo.*from(selectrow_number()over(orderbyorderColumn)asrownumber,*from(sql)asowhererownumber>firstIndex;

下のスクリーンショットを見ると、1 ページあたり 20 件のレコードが表示されています。

これらの20件のレコードをクエリ(1-20)

これらの 20 件のレコード (21-40) をクエリします

sqlserver の row_number 関数を知っていれば、ページングは​​簡単です...

(III) Oracleページングクエリ

次に、Oracle のページング クエリに焦点を当てます。Oracle には、ROWNUM と row_number() という比較的多くのページング クエリ メソッドがあります。今日は、効率がわずかに優れている 2 つのページング クエリ ステートメントに主に焦点を当てます。

①ROWNUMクエリページング式:

select*from(selecta.*,ROWNUMrn from(sql)a whereROWNUM<=(firstIndex+pageSize))wherern>firstIndex

次のスクリーンショットは、この方法で実行されたクエリを示しています。

これらの 20 件のレコードをクエリ (1-21) します***** (ID=6 のレコードはないため、クエリされる最大 ID は 21 です)



これらの 20 件のレコードをクエリ (22-41) します***** (ID=6 のレコードは存在しないため、クエリする最初の ID は 22 で、最大 ID は 41 です)

②row_number()解析関数ページングクエリメソッド:

select*from(select*from(selectt.*,row_number()over(orderbyorderColumn)asrownumberfrom(sql)t) p wherep.rownumber>firstIndex)whererownum<=pageSize

次のスクリーンショットは、row_number() を使用したページング クエリの効果を示しています。

これらの 20 件のレコードをクエリ (1-21) します***** (ID=6 のレコードはないため、クエリされる最大 ID は 21 です)



これらの 20 件のレコードをクエリ (22-41) します***** (ID=6 のレコードは存在しないため、クエリする最初の ID は 22 で、最大 ID は 41 です)


ROWNUM クエリ メソッドでは、第 2 レベルの SQL ステートメントに「 where ROWNUM<(firstIndex+pageSize)order by idascがあり、データ テーブルから (firstIndex+pageSize) レコードをクエリします。したがって、この値が非常に小さい場合、効率は非常に良好になります。大規模なデータ フォームでこの値が数千の場合 (例: select* from wyuse where rownum<(5000) order by idasc 、最初に 5000 レコードが選択され、当然、効率は大幅に低下します。

要約する

以上が編集者によるMySQL、Oracle、SQL Serverのページングクエリの紹介です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • MySQL 1対多関連クエリのページングエラー問題の解決方法
  • MySQL 百万レベルのデータページングクエリ最適化ソリューション
  • 数千万のデータを扱うMySQLのページングクエリのパフォーマンスを最適化する
  • MySQL の制限使用法とページングクエリステートメントのパフォーマンス分析の詳細な説明
  • Mysql 制限ページングクエリ最適化の詳細な説明
  • Oracle、MySQL、SqlServe のページング クエリ ステートメントの違いの概要
  • mysql、mssql、oracle のページング クエリ メソッドの詳細な説明
  • MySQL のページングクエリの 2 つのソリューションの比較
  • 3 つのデータベース (Oracle、MySQL、SqlServer) のページング クエリの例
  • MySQL における SQL ページングクエリのいくつかの実装方法と利点と欠点

<<:  CocosCreatorでJSZip圧縮を使用する方法

>>:  TomcatはLog4jを使用してcatalina.outログを出力します。

推薦する

マウスのドラッグ効果を実現するJavaScript

この記事では、マウスドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Linux の traceroute コマンドの使用方法の詳細な説明

Traceroute を使用すると、情報がコンピュータからインターネットの反対側のホストまでたどるパ...

html+vue+element-ui のスムーズさを 1 分で体験

テクノロジーファンHTMLウェブページ、知っておくべきYouyou が開発した vue フロントエン...

背景画像のみを180度回転させるCSS3実装例

1. 心の旅最近コックピットを書いていたときに、背景画像を単純に特定の角度に回転させるという問題につ...

html5 の新しいメソッドを使用して JavaScript で要素クラス名を操作する方法の詳細な説明

目次1. classList属性2. 実用化以前の JavaScript では、最初にクラス属性を取...

JavaScript 配列 sort() メソッドの基本的な使い方と落とし穴

序文日常のコード開発では、配列のソートに関連する操作が多数あります。JavaScript では、so...

MySQLデータのグループ化の詳細な説明

グループを作成グループ化は、SELECT ステートメントの GROUP BY 句で設定されます。例:...

PHP スケジュールバックアップ MySQL および mysqldump 構文パラメータの詳細

まず、MySQL バックアップ コマンド mysqldump の一般的な操作例をいくつか紹介します。...

Vue のグローバル ウォーターマーク実装例

目次1. 透かしのJsファイルを作成する2. 導入操作2.1 App.vueや他のページでの参照2....

Vueでシングルサインオンを実装する方法のまとめ

最近プロジェクトが中断され、RageFrame の研究は一時的に終了しました。この記事では、シングル...

MySQL インデックス プッシュダウン (ICP) の簡単な理解と例

序文Index Condition Pushdown (ICP) は、MySQL 5.6 の新機能で...

mysqlタイムスタンプの使用

序文:タイムスタンプ フィールドは、MySQL でよく使用されます。たとえば、データ行が作成または変...

calc() で全画面背景の固定幅コンテンツを実現

ここ数年、Web デザインには「全幅背景と固定幅コンテンツ」というトレンドが生まれています。このデザ...

実用的なウェブオンラインツール12選

1.ファビコン.cc ico アイコンの Web サイトをオンラインで作成するには、画像をアップロー...

シンプルなウェブデザインコンセプトのカラーマッチング

(I)ウェブページのカラーマッチングの基本概念(1)白黒の言葉は永遠のテーマです。誰もそれを悪く言う...