Логически, если и запрос с одним параметром, и запрос с двумя параметрами выбирают одну строку, а X является их общим условием, AND Y = 'другое значение' не должно быть значимым столбцом в оптимизаторе запросов.
Если вам не нужен и нужен только Y в качестве условия запроса для одной строки, индекс по Y в этом примере не является хорошей практикой.
Индекс по X является существенным моментом в этом примере, посколькузапрос с одним параметром должен возвращать «одну строку».
Я думаю, что проблема производительности базы данных заключается в том, что вам нужно и как вы выбираете нужную строку при более низком вводе / выводе (логический ввод / вывод с неявным физическим вводом / выводом)O).
И наилучшая практика, однако, я также согласен с решением вашей бизнес-проблемы .