サブクエリの代わりに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 コマンドの違いの詳細な説明
序文: Integer は MySQL で最もよく使用されるフィールド型の 1 つで、通常は整数を格...
ブラウザがHTMLを読み込みレンダリングする順序1. IE は上から下へダウンロードし、上から下へレ...
<br />注:ウェブサイトの種類を示すものを除くすべてのテキストは、企業サイト用です。...
目次MVCCとはMySQL ロックとトランザクション分離レベルMySQL 元に戻すログMVCCの実装...
Linux システムを使用したことがある友人なら、 catコマンドを使用したことがあるはずです。もち...
1.html <div class="ログインボディ"> <...
目次01 コンテナの一貫性02 レイヤーの概念03 レイヤードデザインの利点今日はコンテナ レイヤー...
現在、新しいアプリプロジェクトを開発中です。私にとっても初めてのアプリ開発です。チームで調査と検討を...
適切なデータベース仕様は、ソフトウェア実装の複雑さを軽減し、通信コストを削減するのに役立ちます。この...
方法1:リスピンを使用するには、次の手順に従ってください。 sudo add-apt-reposit...
この記事の例では、参考までに虫眼鏡コンポーネントを開発するためのjsの具体的なコードを共有しています...
1. MySQL マスター/スレーブ同期とは何ですか?マスター データベースのデータが変更されると、...
1. この記事で実装した効果図は以下のとおりです。レイアウトの右側に Flex レイアウトを使用し、...
目次uni-app の紹介HTML部分js部分インスタンスを作成する録音を開始録音終了録音を再生再生...
序文WeChat ミニプログラム プロジェクトでユーザー情報を取得し、ユーザー ログインを実装する場...