以下の構造のテーブルがあります。
Id (Int), Telephone_Number (Int), Name (VARCHAR), Address (VARCHAR)
この SELECT クエリのカバリング インデックスを作成したいと考えています。
SELECT Id FROM mytable WHERE Telephone_Number = '55442233';
インデックスがメモリ キャッシュに格納されるため、インデックスをカバーすることでディスク I/O の量が削減され、パフォーマンスが向上することを理解しています。
私の SELECT クエリでは、Id をインデックスにしても、WHERE 句が Telephone_Number 値にアクセスする必要があるため、ディスク I/O の必要性がなくなるわけではないというのは正しいでしょうか?
もしそうなら、複合指数は(Id, Telephone_Number)
カバリング指数として機能しますか? または、カバーするインデックスは単一の列でなければなりませんか?