I have a table with the following structure below:
Id (Int), Telephone_Number (Int), Name (VARCHAR), Address (VARCHAR)
I wish to create a covering index for this SELECT query:
SELECT Id FROM mytable WHERE Telephone_Number = '55442233';
I understand covering indexes remove the amount of Disk I/O as the indexes are stored in the memory cache, therefore increasing performance.
For my SELECT query, am I right in saying making Id an index will not remove the need for Disk I/O due to the WHERE clause needing access to the Telephone_Number value?
If so, would a composite index of (Id, Telephone_Number)
work as a covering index? Or do covering index have to be single column's?