MySQL 結合には複数のテーブルを使用し、サブクエリ メソッドの使用を避ける
P粉442576165
P粉442576165 2023-09-07 17:38:48
0
2
472

フィドルでの私のクエリは次のとおりです。

リーリー

https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=cad284e77218eb37461e60b6308bf85f

クエリは期待どおりに機能します。ただし、クエリのパフォーマンスに問題はありますか。内部クエリを結合に変換することは可能ですか?

P粉442576165
P粉442576165

全員に返信(2)
P粉567281015

あなたのサブクエリは依存サブクエリではなく、独立しています。つまり、notification テーブル内の列は参照せず、独自のテーブル内の列のみを参照します。

したがって、パフォーマンスの問題はありません。

いいねを押す +0
P粉576184933

サブクエリをユニオン クエリとして表現し、実行プランの統計を比較できます。 fiddle の出力を見ると、union のパフォーマンスがわずかに向上しているようです。

リーリー

これを表現する別の方法は、exists

を使用することです。 リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート