序文 通常、大量のデータを扱う MySQL クエリには「ページング」戦略が採用されます。ただし、ページを後の位置に移動すると、MySQL は破棄する必要のあるデータをスキャンするのに多くの時間を費やすため、クエリは非常に遅くなります。 基本的なページングテクニック 通常、効率的なページングを実現するには、クエリ内の WHERE 条件列とソート列に結合インデックスを適用する必要があります。 1. フィールドの並べ替え 注文する a,b で順序付け a、b、c で順序付け ORDER BY a DESC、b DESC、c DESC 2. フィルタリングと並べ替え a = const ORDER BY b, c の場合 a = const かつ b = const の場合、c で ORDER BY する a = const ORDER BY b, c の場合 a = const かつ b > const の場合、b, c で ORDER BY する 3. 次のクエリは上記のインデックスを使用できません ORDER BY a ASC, b DESC, c DESC // ソート方向が一貫していません WHERE g = const ORDER BY b, c // フィールド g はインデックスの一部ではありません WHERE a = const ORDER BY c // フィールド b は使用されていません WHERE a = const ORDER BY a, d // フィールド d はインデックスの一部ではありません 大量のデータのページめくりの問題を解決 1. LIMIT M,NのクエリをLIMIT Nに変更します。 例: mysql> SELECT <cols> FROM profiles INNER JOIN ( -> SELECT <主キー列> FROM プロファイル -> WHERE x.sex='M' ORDER BY 評価 LIMIT 100000, 10 -> ) AS x USING(<主キーの列>); 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: CentOS7 ファイアウォールとオープンポートの簡単な使い方の簡単な紹介
1. VMware 15.5から新しい仮想マシンを作成する1. VMware を開き、ホームページで...
Baidu には slot-scope に関する記事が既にたくさんありますが、以前よく学習しておら...
この記事では、ドロップダウンメニューを表示および非表示にするJavaScriptの具体的なコードを参...
展開環境:インストールバージョン Red Hat Cent 7.0 MYSQL バージョン 8.0....
MERGE ストレージ エンジンは、MyISAM テーブルのグループを論理ユニットとして扱い、同時に...
目次1. 監視ポート関係の説明操作する2. 監視サービス関係の説明操作する3. テンプレートのインポ...
この記事では、MySQL が乱数を生成し、文字列を連結する方法について例を使用して説明します。ご参考...
目的: 1. Alibaba Cloud Serverを介してサーバーの外部ネットワークをマッピング...
解決Docker for Macに付属するLinux仮想マシン(軽量ですが、ソケットファイルを使用し...
1. テーブルとパーティションを分割する必要があるのはなぜですか?日常の開発では、大きなテーブルに遭...
1. チェックステータスモジュールがインストールされているかどうかを確認します。 [root@loc...
目次G2チャートについて使用テンプレートで使用される完全なコード (棒グラフ)世界地図を追加するG2...
目次1. Dockerコンサルの概要2. nginxとconsulをベースにした自動検出と高可用性の...
Deepin 2014 のダウンロードとインストールDeepin 2014 のダウンロードとインスト...
必要:通常、サイト側は、ウェブサイト上の動画や写真が盗まれるのを防ぎたいと考えています。結局のところ...