kawama.jp

is nullは重い

カテゴリ: MySQL — タグ: , — 2014年2月17日 12:13 — Comments (0)hatebu count

テーブルAテーブルBがあって、2つを結合し、AにデータがあってBにデータがないものを抽出するのに、B.hoge is null って感じでis nullを使ってました。

最初はこれで問題なかったものの、データ量が多くなるにつれてパフォーマンスが悪くなってきており、調べてみたらこの is null が原因でした。

is nullを使うと、強制的に全表走査になっちゃうそうです。

http://memo.sonorilo.net/post/187525676/sql-11

今回は仕様の都合上、is nullは外せませんでした。

代わりに絞り込みを少し強めにして、パフォーマンスを改善しました。

平たく言うとその場しのぎです。

実装後に変更するのは難しいので、設計段階でできるだけnullを使わないよう、心がけないといけませんね。

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

Copyright (C) 2002 - 2017 kawama All Rights Reserved. — Powered by WordPress

css.php