連載
SQL緊急救命室
ここはとある街の総合病院。ここには通常の診療科のほかに,一風変わった診療科が存在する。何軒もの病院をたらいまわしにされた,手の施しようのないSQLや,今すぐに改善が必要なSQLが担ぎ込まれる救命室である。それがSQL緊急救命室,略してSER(SQL Emergency Room)。そう,ここは国内でも唯一のプログラミング専門外来である。
- 第5回 時代錯誤症候群~進化し続けるSQLに取り残されるな!
- 繰り返されるサブクエリ
- 共通表式
- CASE式
- 言語の進化とエンジニアの進化
- 冗長さはコードをわかりにくくする
- 比較できるのは列だけではない
2012年3月29日
- 第4回 スーパーソルジャー病~すべての問題をやみくもにコーディングで解くべからず
- SQLで解く方法
- モデル変更で解く方法
- 再び,SQLで解くなら
- モデル変更で解く方法
- 初級者よりも中級者がご用心
- データモデルを制す者はシステムを制す
- 戦術より戦略
2012年1月24日
- 第3回 ループ依存症~手続き型の呪縛を打ち破れ!
- ループによる表現
- SQLでループを置き換えるには
- 奇妙なサンドイッチ
- 相関サブクエリによる更新
- ウィンドウ関数による更新
- 手続き型言語的な書き方~(ループ)を積極的に使う場合
- SQLのみで記述する場合
- トレードオフを考える
2011年11月25日
- 第2回 冗長性症候群~条件分岐をUNIONで表現するなかれ
- UNIONで条件分岐するのは正しいか
- 集計における条件分岐
- UNIONで分岐させるのは簡単だが…
- 集約結果に対する分岐もSELECT句で
- 手続き型と宣言型
- 終わりに
2011年10月3日
- 第1回 サブクエリ・パラノイア~副問い合わせ乱用による性能劣化を治療せよ!
- 相関サブクエリは解にならない
- なぜ自己結合はダメなのか~ディスクに触る者は不幸になる~
- 結合をなくせ!
- 長期的な視野を持て
- 行間比較でも結合は必要ない
- おわりに~困難は分割するな~
2011年7月25日
