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ログを出力します。

推薦する

大規模なウェブサイトアーキテクチャを設計・構築する際に考慮すべき10の課題

ここでは、PHP、JSP、または .NET 環境については説明しません。アーキテクチャの観点から問題...

IE6 の歪み問題

質問: <form...> の下の <input type="hidde...

MySQLのトランザクション管理操作の詳細な説明

この記事では、MySQL のトランザクション管理操作について説明します。ご参考までに、詳細は以下の通...

HTML 選択ボックスのプレースホルダーの作成に関する問題

テキスト入力でプレースホルダーを使用していますが、問題なく動作します。しかし、選択ボックスにはプレー...

UbuntuはCUDAの複数のバージョンをインストールし、いつでも切り替えることができます

CUDA とは何かを紹介するのではなく、複数の CUDA バージョンの共存とリアルタイム切り替えをど...

Hyper-V なしで Windows 10 を動作させるソリューション

Windows10 Home Edition でHyper-vを有効にする方法をまだ探していますか?...

CSS は Alibaba ベクター ライブラリを使用して、対応する位置に見栄えの良いアイコン効果をすばやく追加します (サンプル コード)

Alibaba ベクターアイコンライブラリにアクセスAlibaba ベクターアイコンライブラリ好き...

JSにおけるnewの原理と実装について詳しく話しましょう

目次意味コンストラクタ本体は異なる戻り値なし戻りオブジェクト非オブジェクトを返すプロパティバインディ...

Nginx を使用して DoNetCore を Alibaba Cloud にデプロイする方法

基本的な環境設定まずはご自身でドメイン名とサーバーを購入してくださいクラウドサーバーECSに基づいて...

a href=# と a href=javascript:void(0) の違いの詳細な説明

a href="#"> リンクをクリックすると、ページがページ上部までスク...

Dockerがプライベート倉庫Harborを構築する手順

港Harborは、エンタープライズレベルのプライベートDockerイメージリポジトリを構築するための...

mysql.data.dll ドライバーのさまざまなバージョンの簡単な分析

ここにmysqlドライバmysql.data.dllがあります知らせ:ここではX86バージョンが多く...

JavaScript で円形のプログレスバー効果を実装する

この記事では、円形のプログレスバー効果を実現するためのJavaScriptの具体的なコードを参考まで...

iframe ページパラメータの文字化けの問題について議論

非常に珍しいパラメータ文字化けの問題に遭遇しました。まずページを見てみましょう写真に示すように、月次...

IntelliJ IDEA で Java を使用して MySQL データベースに接続する方法の詳細な説明

1. MySQLデータベースをダウンロードし、インストールして設定するダウンロードアドレス: htt...