サブクエリの代わりにJOINを使用する MySQL はバージョン 4.1 以降で SQL サブクエリをサポートしています。この手法では、SELECT ステートメントを使用して単一列のクエリ結果を作成し、その結果を別のクエリのフィルター条件として使用します。たとえば、顧客基本情報テーブルに注文がない顧客を削除する場合は、次に示すように、サブクエリを使用して、まず販売情報テーブルから注文したすべての顧客の顧客 ID を取得し、その結果をメインクエリに渡すことができます。 顧客情報から削除 WHERE CustomerID が含まれない (SELECT CustomerID FROM salesinfo) サブクエリを使用すると、論理的には複数のステップを一度に完了する必要がある多くの SQL 操作を一度に完了できるだけでなく、トランザクションまたはテーブル ロックを回避でき、記述も簡単になります。ただし、場合によっては、サブクエリをより効率的な JOIN に置き換えることができます。たとえば、注文記録がないすべてのユーザーを取得したい場合、次のクエリを使用して完了できます。 顧客情報から*を選択 WHERE CustomerID が含まれない (SELECT CustomerID FROM salesinfo) このクエリを完了するために JOIN を使用すると、速度が大幅に向上します。特に、salesinfo テーブルの CustomerID にインデックスがある場合は、パフォーマンスが向上します。クエリは次のようになります。 顧客情報から*を選択 LEFT JOIN salesinfoON customerinfo.CustomerID=salesinfo。 顧客ID salesinfo.CustomerID が NULL の場合 JOIN.. は、MySQL がこの論理的な 2 段階のクエリを完了するためにメモリ内に一時テーブルを作成する必要がないため、より効率的です。 要約する サブクエリの代わりに結合を使用した MySQL の最適化に関するこの記事はこれで終わりです。参考用です。不備があれば指摘してください。誰でも意見を交換したり議論したりすることができます。このサイトをサポートしてくださった友人の皆さんに感謝します。 以下もご興味があるかもしれません:
|
>>: Linux の chown コマンドと chmod コマンドの違いの詳細な説明
日常業務でファイルをダウンロードする一般的な方法は 2 つあります。 1 つ目は、サーバーのファイル...
目次1. 概要1.1 厳密モードとは何ですか? 1.2 厳密モードの目的2. 厳密モードを有効にする...
みなさんこんにちは。私は梁旭です。ご存知のとおり、Linux ではデバイス ファイルも含めすべてがフ...
目次シンプルなSpringbootプロジェクトを作成する1. pom.xmlでSpring Boot...
目次問題の説明:インストール手順1. 準備2. サーバーにリモート接続する3. 証明書と秘密鍵ファイ...
Vue3プロジェクトのカプセル化サイドナビゲーションテキストスケルトン効果コンポーネント-グローバル...
この記事では、MySQL 5.7.21の解凍版をダウンロードしてインストールする詳細な手順を記録して...
1. 現在インストールされているPHPパッケージを確認するyum list installed |...
目次1. 実験環境2. Dockerソースをインストールする3. Dockerをインストールする4....
同僚から、LINUX サーバー上の多くのコマンドが (コマンドが見つかりません) というプロンプトで...
目次1. 永続データの簡単なマウント2. DockerFileでイメージをビルドし、設定ファイルを指...
High Performance MySQL バージョン 3 (セクション 4.1.7) を見ると、...
Ubuntu をインストールしたばかりですが、開いたときにネットワーク接続がありませんでした。右上隅...
Apache Tika は、さまざまな形式のファイルからファイル タイプを検出し、コンテンツを抽出す...
目次最初の方法: router-link (宣言型ルーティング) 2番目の方法: router.pu...