はじめに 自社のサーバーでMongoDBを使用しています。 クエリの高速化にindexを用いるのは常套手段ですが、何も考えずに貼ったIndexが適用されない事がありました。 今回はその原因となったESRの法則について調べたことを簡単にまとめました。 ESR(Equality,Sort,Range)の法則 ESRの法則はMongoDBの公式ドキュメントで紹介されています。 1言でまとめると indexは、Equal(一致)、Sort(並び替え)、Range(絞り込み) の順番に貼ったほうがいいよ と言っています。 例えば、以下のqueryがあったとします。