第10回 SQLアンチパターン読書会に参加しました

5/24にNSEGの「SQLアンチパターン読書会」の第10回に参加しました。

nseg.connpass.com

隔週の水曜日の夜に開催しています。だいたいいつも3〜4人くらいでこじんまりとやってます。

一人が1〜2ページくらいを音読して、気になったことをみんなで話したりして、また次の人が読んで…を繰り返しすという感じでやってます。

今回は14章と15章を読みました。以下、話された内容を記憶を頼りに。

14章 アンビギュアスグループ(曖昧なグループ)

「これエラーにならないのMySQLだけじゃない?」

「MySQLも5.7からは標準でエラーになる」

「SQL 99 だと GROUP BYに書いてないカラムでも論理的に一意に求まるのならエラーにならないらしい」

「PostgreSQL でも最近はエラーにならなくなるケースがあるらしい」

「相関サブクエリむずい」

「MySQLは伝統的にサブクエリが遅い。最近はかなりマシになったらしい」

15章 ランダムセレクション

「LIMIT を使えない RDB あったのか!」

「プリペアドステートメントって “?” だけじゃなくて “:offset” みたいな書き方できたの?」

「それはたぶんPHPのクライアントサイドプリペアドステートメント。クエリの一部を書き換えるので過去に脆弱性問題があった。文字列としてクエリの一部を書き換えるのは悪手で、やるなら一段レイヤーを上げて Ruby の Sequel みたいなやりかたがいいと思う」


次回は 6/7 18:30〜 です。興味があって都合のつく人は参加してみてください。

nseg.connpass.com