ホームページ > データベース > mysql チュートリアル > mysql最適化結合ステートメント

mysql最適化結合ステートメント

黄舟
リリース: 2016-12-19 16:54:39
オリジナル
1345 人が閲覧しました

結合ステートメントの最適化:
Mysql4.1 は SQL サブクエリのサポートを開始します。この手法を使用すると、SELECT ステートメントを使用してクエリ結果の単一列を作成し、この結果を別のクエリのフィルター条件として使用できます。サブクエリを使用すると、論理的に複数のステップを一度に完了する必要がある多くの SQL 操作を完了でき、トランザクションやテーブルのロックも回避でき、記述も簡単です。ただし、場合によっては、サブクエリをより効率的な結合 (JOIN) に置き換えることができます。
注文レコードを持たないすべてのユーザーを抽出したいと仮定すると、次のクエリを使用してこのクエリを完了できます:
SELECT * FROM customerinfo WHERE CustomerID NOT in (SELECT CustomerID FROM salesinfo)
接続を使用する場合 (JOIN) ...このクエリを完了すると、速度が大幅に速くなります。特に salesinfo テーブルに CustomerID のインデックスがある場合、パフォーマンスは次のようになります。
SELECT * FROM customerinfo LEFT JOIN salesinfoON customerinfo.CustomerID=salesinfo.CustomerID
WHERE salesinfo.CustomerID IS NULL
Connection ( JOIN) の方が効率的である理由は、MySQL がこの論理 2 段階のクエリを完了するためにメモリ内に一時テーブルを作成する必要がないためです。

上記は mysql に最適化された join ステートメントの内容です。さらに関連する内容については、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート