Зачем вообще разрешать пустые значения в этих столбцах - либо они читаются, либо нет. Просто по умолчанию 0. Затем индексируйте на Read / Deleted / ReceivedUser (в таком порядке они будут «разбиты на разделы», если вам нужно много доступа ALL READ, или, если большинство операций чтения только для одного пользователя, поместите индекс на ReceivedUser )
То, что вы хотите сделать, это увидеть, что ваш индекс покрывает. В вашем случае вы можете поместить индекс в столбцы ReceiverUserId и INCLUDE ReceiverReaded и ReceiverDeleted, и он будет охватывать (для этого запроса). В плане выполнения вы должны просто увидеть поиск по индексу, поскольку у вас есть один пользователь.
Вы можете захватить рабочую нагрузку и затем запустить ее с помощью мастера настройки индекса в SQL Server, и он, вероятно, сделает довольно хорошие предложения. Разумеется, вам нужно истолковывать то, что он вам говорит.