はじめに こんにちは、クラウドソーシングサービス「クラウドワークス(crowdworks.jp)」でエンジニアをしている原です。 先日業務でRailsコンソールを利用してクエリのチューニングを行っていた際、ActiveRecord::Relation#explainメソッドの挙動に関する認識不足によりサーバーのリソースを枯渇させてしまったということがありました。 「実行計画(EXPLAIN)を確認するだけなら実際のデータ取得は行われない」と考えている方も多いかと思いますが、Railsの特定の条件下では通常のSELECT文が発行される場合があります。 障害発生時の状況 本番環境の管理用サーバーにて、重いクエリの調査のためにRailsコンソールを使用していました。 その際、クエリの実行計画を確認する目的でActiveRecord::Relation#explainを実行したところ、サーバーのメ

