通常のページングクエリ日常業務でビッグデータ クエリに遭遇した場合、最初に行うのはページング クエリの使用です。 MySQLは、指定された数のデータを選択するためのlimit文をサポートしていますが、Oracleはrownumを使用して選択することができます。 mysql ページング クエリ ステートメントは次のとおりです。 SELECT * FROM テーブル LIMIT [オフセット,] 行 | 行 OFFSET オフセット
最適化する方法上記の要約から、オフセットが大きく、データ量が多い場合、クエリ時間は依然としてかなり長くなることがわかります。そのため、これら 2 つのタイプの最適化を開始します。 大きなオフセットサブクエリの使用 まずオフセット位置のIDを見つけて、データを照会します。 テスト制限1000000,10から*を選択 テスト制限 1000000,1 から ID を選択 id>=(テストから id を選択 制限 1000000,1) の条件でテストから * を選択 制限 10 実行してみると、最初のクエリに最も時間がかかり、3 番目のクエリは最初のクエリよりもわずかに速く、インデックスを使用するとサブクエリの方が高速であることがわかります。 しかし、これはIDが増加する場合にのみ適用されます 使用ID制限この方法にはより高い要件があります。ID は継続的に増加し、ID の範囲を計算してから between を使用する必要があります。SQL は次のとおりです。 select * from test where id between 1000000 and 1000100 limit 100; id>=1000000 の制限 100 のテストから * を選択 結果はすぐに出る ここでは、エントリの数を制限するために limit が使用され、 offset は使用されません。 大量データ問題の最適化
これで、MySQL で 1000 万件のレコードをすばやくクエリする方法に関するこの記事は終了です。MySQL クイック クエリの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Vue が値を返してフォームを動的に生成し、データを送信する仕組みの詳細な説明
Angular Cookie の読み取りおよび書き込み操作のコードは次のようになります。 var a...
テーブルを美しくするために、セルごとに異なる境界線の色を設定できます。基本的な構文<TD 境界...
今日、仕事中に左結合に関するSQLの問題に遭遇しました。後で解決しましたが、この問題を通じてSQLの...
1. 原因:サブボックスをフロートに設定した後の効果: 青いボックスをフロートに設定すると、標準のド...
1. 「stripslashes($_POST['json']);」メソッドを使用し...
ページ上の画像を強調表示することは非常に一般的です。ここでは、jQuery を使用して画像を強調表示...
//文法: @media mediatype and | not | only (メディア機能) ...
目次定義2. 使用シナリオ3. 例を挙げる4. コーディング定義オブザーバー パターンは 1 対多の...
目次クラスコンポーネントのプロパティ比較浅い同等の浅い比較機能コンポーネントの簡単な比較先週面接に行...
今日、私は <a href="#13"></a> につい...
序文この記事では主にMySQLのカスタム関数とストアドプロシージャに関する関連コンテンツを紹介し、皆...
InnoDB REDO ログ ファイルのサイズと数を調整する場合は、次の手順に従います。 1. My...
Linux touch コマンドの詳細な説明: 1. コマンド機能:ファイルまたはディレクトリの作成...
MySQL 開発チームは、2019 年 10 月 14 日に MySQL 8.0.18 GA バージ...
目次1. 例2. 兵士100人を作成する3. 質問4. 改善点5. エレガント? 6. JSの父から...