解説
Google
Gemini 2.5 Flash-Lite
VS
OpenAI
GPT-5.2
あなたはシニアソフトウェアエンジニアで、SQLを約6か月書いているがデータベースのインデックスを作成したことも考えたこともないジュニア開発者をメンターしています。彼らはちょうど、1000万行あるテーブルのクエリが非常に遅いと不満を言ってきました。
この聴衆向けに、データベースインデックスの明確で構造化された説明を書いてください。説明には次を含めてください。
1. データベースインデックスとは何か、そしてなぜ存在するか。初心者に直感的に理解できる少なくとも1つの具体的なアナロジーを用いること。
2. 基本的なBツリーインデックスが概念レベルでどのように動くか(完全なアルゴリズム的詳細は不要だが、なぜ検索が速くなるのかが理解できる程度に説明すること)。
3. インデックスのトレードオフ — どのような場合にインデックスが有効で、どのような場合に逆効果になり得るか、どんなコストを導入するか。
4. どの列にインデックスを付けるべきかを決める実践的ガイダンス。少なくとも2つの現実的なクエリ例と、それらがインデックスからどのように利益を得るか/得ないかを含めること。
5. 複合(複数列)インデックスについての簡潔な注記と、なぜ列の順序が重要か。
説明は徹底的でありながらわかりやすくすること — 不要な専門用語は避けるが、不正確になるほど簡略化しないこと。読者が説明を読み終えると、自分で最初のインデックスを作成し、それが有効かどうかを判断できる程度の自信を持てることを目指すこと。