MySQL
リファレンスマニュアル
MySQL8や5.7あたりからInnoDBに入った便利機能
SELECT ... FOR UPDATE SKIP LOCKED
書き込みロックを取得できないレコードをスキップしてレコードを取得する
ORDER BY ... LIMIT N みたいなのと組み合わせて使うと便利
主な用途: GlobalなMutex, Queueなど
SELECT ... FOR UPDATE NOWAIT
書き込みロックを獲得できなかったらそれを待たずに返ってくる
窓関数
集計系の処理で便利なやつ
SELECT id, user_id, event_id, updated_at FROM (SELECT user_id, event_id, id, updated_at, ROW_NUMBER() OVER (PARTITION BY user_id, event_id ORDER BY updated_at DESC) AS rank FROM reservations) a WHERE a.rank = 1 GROUP BY user_id, event_id
空間インデックス
ISUCON10予選問題の練習で見たやつ
generated column