【Ruby】Ruby on Rails Part6
■ このスレッドは過去ログ倉庫に格納されています
0803nobodyさん
2009/03/30(月) 16:39:00ID:???↓
すまん、これよくわからん。なんのメソッドだ?
バリデーションが必要ということか?:allow_nilオプションのことだろうか。
・空で更新されたのか、本当にNULLなのか見分けがつかない
↓
実際はNULLかもしれないのに、
空が入ってくると見分けがつかないとも言える。実際混乱する。
データがWeb経由のみから入ってくるとは限らない。
たとえば、
select count(column_name) from table_name
とやると、column_nameの値がNULLの時はカウントされない。
有効なデータ件数のカウントすらつまらん条件を入れることになる。間違いのもと。
・IS NULL検索時にインデックスがきかないケースが存在する
↓
ビットマップインデックスならきく。
B-Treeの場合、カーディナリティーが重要になる。
絞り込み条件によってデータがざっくり15〜20%くらいまでは最低でも絞り込まれないと、
フルスキャンの方が速くなる。
形だけNULLにするとインデックスがきくことによって逆に遅くなったりする。
・NULLの扱いがDBの実装によって異なる
↓
Oracleあたりは両者を区別してないね。というより空白はNULLで格納される。
それと空白が都合がいいという結論とどう結びつくのかわからん。
むしろ空白だと思ってたのに、NULLが入ってましたなことになるんだぞ。
where column_name = '' とかやっても絞りこまれんぞ。
Web系は特にDBまわりの扱いがおおらかすぎ。データが汚いと余計な苦労が増える。
■ このスレッドは過去ログ倉庫に格納されています