MySQLのパーティション剪定が機能していなかった話 — Eloquentクエリに条件を1行追加して16倍改善

こんにちは、ヤプリでサーバサイドエンジニアをしている熊埜御堂です。 今回は、業務で行ったAPIのパフォーマンス改善について記載します。 TL;DR 何が起きていたか: EXPLAINで event_histories へのクエリが全144パーティションをスキャンしていた なぜ起きていたか: サブパーティションキー(tenant_id)がWHERE句に含ま…