序文 通常、大量のデータを扱う 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 ファイアウォールとオープンポートの簡単な使い方の簡単な紹介
Linux コマンドの学習は、ほとんどの初心者にとって最大の障害です。今日は、Linux システムで...
<table id=" <%=var1%>">、var1...
Windows Server 2019 は、Microsoft が公式にリリースした最新のサーバー...
最近、フロントエンドの vue.js ドッキング機能モジュールに取り組んでいたとき、画像をダウンロー...
目次1. nginxのインストールと操作(Mac OS環境) 2. nginxルールの設定3. コマ...
表のキャプションは表の上または下に配置でき、プロパティで調整できます。デフォルトのテーブル タイトル...
この記事では、ソーシャル ウェブサイトのホームページを比較分析することで洞察を得て、ソーシャル ウェ...
Docker を初めて使い始めると、通常とは異なる問題に遭遇して、必然的に混乱してしまいます。大丈夫...
Yahoo チームが書いた、ウェブサイトのパフォーマンス最適化に関する記事を読みました。この記事は...
コードと同様に、テーブルや列にコメントを追加して、他のユーザーがその機能を理解できるようにすることが...
目次MySql8.0 トランザクション分離レベルエラーの表示質問コマンドは次のように変更されますMy...
コードをコピーコードは次のとおりです。 <html> <本文> <?p...
環境: [root@centos7 ~]# uname -r 3.10.0-514.el7.x86_...
目次01. リスナーウォッチ(1)機能(2)特性と方法(3)監視対象(4)リスニングアレイ02. 計...
1. Zabbixバックアップ [root@iZ2zeapnvuohe8p14289u6Z /]# ...