今まで大量のクエリをチューニングしてきた中で、selectivity(選択度)の理解がとても大事だなと感じているので、今回はselectivityについて書きます。 ※以降の話は、「いろいろと例外はあるけど、基本的にはこうなることが多い」という経験に基づいてお話しますので、様々な場面において例外があり、すべてのクエリのパフォーマンスをカバーできるわけではありません。ただ、「基本的にはこうなる」ということを理解することで、今までと違う視点でSQLの読み書きをできるようになるきっかけを提供できたらなという想いで書きます。 ※筆者はSQL Serverを使いますので、実行プランはSQL Serverのものが出てきますが、selectivity自体はベンダに依存せずに使える知識です。 クエリのパフォーマンス要件 全てのクエリを限界まで速くする必要はありません。 ■ 限界まで高速に ・WEBサービス