データベース計算問題
あるSQLクエリにおいて、社員テーブル(3,000行)と部署テーブル(60行)をINNER JOINで結合する。社員テーブルには部署IDのインデックスが存在し、インデックス検索で絞り込める割合は全体の2%である。ネステッドループ結合において、インデックスを使用した場合と使用しない場合の比較アクセス行数の差はいくつか。ただし、外側ループは部署テーブルとする。
A.176,400行← 正解
✓ 正解です。インデックスなし:60×3,000=180,000行。インデックスあり:60×(3,000×0.02)=60×60=3,600行。差は180,000-3,600=176,400行となります。
B.180,000行
✗ 180,000行はインデックスを使用しない場合の総アクセス行数であり、差ではありません。
C.3,600行
✗ 3,600行はインデックスを使用した場合のアクセス行数であり、差ではありません。
D.6,000行
✗ 6,000行は正確な計算に基づかない誤答です。正確な差は180,000-3,600=176,400行です。