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 仮想環境をインストールする詳細なチュートリアル

推薦する

VMware、nmap、burpsuite インストール チュートリアル

目次VMware バープスイート1. 仮想マシンイメージとVMwareのインストールと使用2. 仮想...

Linux rpm および yum コマンドとその使用法の詳細な説明

RPM パッケージ管理インターネット ダウンロード パッケージのパッケージ化およびインストール ツー...

ページ切り替え効果を作成するための純粋な CSS3 のサンプルコード

前に書いたものは複雑すぎるので、シンプルなコアにしましょう <html> <ヘッド...

Tomcatサーバーのセキュリティ設定方法

Tomcat は、Java Community Process を通じて Sun が開発した、広く使...

Mysql は null 値の first/last メソッドの例を実装します

序文MySQL が SQL SELECT コマンドと WHERE 句を使用してテーブルからデータを読...

element-uiのアップロードコンポーネントでファイルやその他のパラメータを転送する際の問題を分析する

最近、element-ui を統合したプロジェクトで vuethink を使用しました。以前は bo...

FileZilla を使用して FTP サーバーに接続するプロセスの図

最初にサーバー上に FTP サーバーをセットアップし始めたとき、接続できないことがわかったので、Fi...

CSS3で実装されたサムネイルホバー効果

成果を達成する実装コードhtml <ヘッダー> <h1><em>...

MySQLの結合クエリ、ユニオンクエリ、サブクエリの原理と使用例の詳細な説明

この記事では、例を使用して、MySQL の結合クエリ、結合クエリ、サブクエリの原理と使用方法を説明し...

事例を通してLinux NFSの仕組みを詳細に分析

前回の記事に引き続き、web02 サーバーを作成し、web01 サーバーと web02 サーバーの ...

現在のマウススライドの座標を取得するVue+openlayer5メソッド

序文: Vue プロジェクトで現在のマウスの座標を取得するにはどうすればよいでしょうか。ここで共有す...

Zookeeper&Kafka クラスターを構築するための Docker の実装

最近Kafka勉強しています。クラスタの状態をテストする準備をしていたときに、仮想マシンを 3 つ開...

要素テーブルの行と列のドラッグを実装する例

要素 ui テーブルにはドラッグ アンド ドロップによる並べ替え機能が組み込まれておらず、サードパー...

Vue プロジェクト コード分割ソリューション

目次背景目的分割前プロセス設計ディレクトリ構造の設計問題分割後プロセス設計ディレクトリ構造の設計問題...