Twitterで見つけた記事。
Yesterday wasn't stressful; incident was well-run. No blaming/panic, right priorities, strong collaboration. Engineers had space to think and take the best “next steps” at each turn. I learned new things. I'd volunteer again. Hopefully, an easy read. https://t.co/YSsyn1EIWr
— Jeremy Schneider (@jer_s) 2022年2月11日
前提知識としてまず、PostgreSQLにはhint句がない。
上記スライドのコミュニティのスタンスのスライドはなるほどと思った。もしかしたら今は状況は変わっているかもしれないが、八方美人にならない設計思想という点では非常に参考になる。
いずれにしても元記事では、hint句が使えないので、CTEを使うことで実行計画を変えられるという裏技を使うことで問題を回避した。ここまできてしまうと、設計思想のせいでSQLが歪むという本末転倒なことが起きており、それは元記事の筆者も指摘している。ここまで来るとJavaでStringBuilderを使おうぜみたいな、そこまで内部構造意識しないといけない言語仕様がいけないのでは感がある。本質的にはPostgreSQLに修正パッチを起票するのが正しいのだろう。
結局のところ、筆者の言うようにだからこそ食い扶持になる!とポジティブにプラクティカルに受け止めるのが良さそう。面白い記事でした。