Почти во всех случаях версия union
или union all
будет выполнять два полных сканирования таблицы в таблице пользователей.
Версия or
на практике намного лучше, поскольку она будет сканировать только один раз. Он также будет использовать индекс только один раз, если он доступен.
Исходный оператор просто кажется неправильным, практически для любой базы данных и любой ситуации.