エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
【SQL】「JOIN」と「パフォーマンス」について | プログラミングマガジン
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
【SQL】「JOIN」と「パフォーマンス」について | プログラミングマガジン
JOINが増えるとパフォーマンスが低下します。 INNER JOINの場合は論理和になるので、A、B、C、Dと4つの... JOINが増えるとパフォーマンスが低下します。 INNER JOINの場合は論理和になるので、A、B、C、Dと4つのテーブルがあった場合は、AとB、AとC、AとD、BとC、BとD、CとDというように重なりを調べていくので指数関数的に増加することになります。 JOINのテーブルスキャンは掛け算なので、10行と10行なら100行、1000行と1000行なら1000000行のスキャンが走ります。 じゃあ、JOINを使ってはいけないのか? それはないです。N+1問題の温床になってしまったりするので使わないという選択肢はないです。 対策 インデックスを貼る。 100行と100行のスキャンの場合、インデックスが貼られてなかったら100✖️100の10000行のスキャンが走りますが、インデックスが貼れていたら、100+100の200行のスキャンで済みます。 SQLを見直す。 JOINの回数を減らすこと。