MySqlを最適化するためにnot inを使用する方法

MySqlを最適化するためにnot inを使用する方法

最近、プロジェクトで選択クエリを使用する際に、未使用の主キー ID を除外するために not in を使用しました。当初使用した SQL は次のとおりでした。

選択 
  s.SORT_ID、
  s.SORT_NAME、
  s.SORT_STATUS、
  s.SORT_LOGO_URL、
  s.SORT_LOGO_URL_LIGHT
SYS_SORT_PROMOTE から
  どこ
    s.SORT_NAME = '必聴クラシック'
    かつ、s.SORT_ID が ("SORTID001") にありません
  制限 1;

テーブルに大量のデータがある場合、この SQL の実行時間は長く、実行効率は低くなります。左結合を使用して最適化できるという情報をオンラインで見つけました。最適化された SQL は次のとおりです。

選択 
  s.SORT_ID、
  s.SORT_NAME、
  s.SORT_STATUS、
  s.SORT_LOGO_URL、
  s.SORT_LOGO_URL_LIGHT
SYS_SORT_PROMOTE から
左結合(SYS_SORT_PROMOTEからSORT_IDを選択、SORT_ID=#{sortId})b
s.SORT_ID = b.SORT_IDの場合
  どこ
    b.SORT_IDがNULLです
    AND s.SORT_NAME = '必聴クラシック'
  制限 1;

上記の SORT_ID=#{sortId} では、sortId は SORT_ID フィールドで除外する必要がある ID 値を渡します。左外部結合を実行する場合、フィルターするフィールド (SORT_ID) が結合条件として使用されます。最後に、where 条件に b.SORT_ID IS NULL を追加して、テーブル内の関連データをフィルターします。

最適化のプロセスを記録するには、ここにエッセイを書き留めてください。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MYSQL IN と EXISTS の最適化の例
  • MySQL の not in と minus の最適化
  • MySQL における or、in、union、インデックス最適化の詳細な分析
  • サブクエリ最適化における MySQL 選択の実装
  • MySQL での IN データボリュームの使用の最適化された記録

<<:  VueRouterルーティングの詳細な説明

>>:  Ubuntu 20.04 に Python 3 仮想環境をインストールする詳細なチュートリアル

推薦する

MySQL スロークエリを通じて MySQL のパフォーマンスを最適化する方法

アクセス数が増えると、MySQL データベースへの負荷が増大します。MySQL アーキテクチャを使用...

CSS の一部のプロパティの前には「*」または「_」が付きます。

CSS の一部のプロパティの前には「*」または「_」が付きます。さまざまなブラウザを識別する例えば...

SpringBoot と Docker の統合の詳細なプロセス

目次1. デモプロジェクト1.1 インターフェースの準備1.2 構成の準備2. Dockerがリモー...

ドロップダウンメニューを実現するためのHTML+CSS

1. ドロップダウンリストの例コードは次のとおりです。 <!doctypehtml> ...

タブ切り替え機能を実装するJavaScriptカスタムプラグイン

この記事では、タブ切り替え機能を実装するためのJavaScriptの具体的なコードを参考までに共有し...

fileReader 使用時の落とし穴と解決策

目次fileReader に関する落とし穴iOS における FileReader の落とし穴 (イメ...

MySQL の時間タイプとモードの詳細

目次1. MySQL の時刻型2. タイムゾーンを確認する3. 不正な時間値4. 厳密モード5. 事...

Linux でのマルチスレッドプログラミング例の分析

1 はじめにスレッド技術は 1960 年代にすでに提案されていましたが、マルチスレッドがオペレーティ...

Linux システムで crontab を使用して MySQL データベースを定期的にバックアップする方法

システムの crontab を使用して定期的にバックアップ ファイルを実行し、バックアップ結果を日付...

中国語でのNginx設定パラメータの詳細な説明(負荷分散とリバースプロキシ)

PS: 最近、nginx を詳細に紹介している <<High-Performance ...

VMware で Nginx+KeepAlived クラスタ デュアルアクティブ アーキテクチャを展開する際の問題と解決策

序文負荷分散には nginx を使用します。アーキテクチャのフロントエンドまたは中間層として、トラフ...

よく使われるJavaScript配列メソッド

目次1. フィルター() 2. 各() 3. いくつか() 4. すべて() 5. 減らす() 6....

VMware Workstation Pro は Win10 ピュア バージョンのオペレーティング システムをインストールします

この記事では、VMware Workstation Pro で Win10 オペレーティング システ...

Nginx ベースのアクセス制御と接続制限の実装

序文Nginxの組み込みモジュールは、同時リクエスト数の制限とリクエストのソースの制限をサポートして...