Ответ. Не задавайте GUID жестко.Это приводит к тому, где критерии?В таблице состояния.Как это указать?Если строка неизменна, хорошо, используйте ее, если хотите, я предпочитаю логический флаг IsActive.Если производительность неприемлема, вернитесь - используя информацию, которую мы обсуждали
Есть ли у вас ограничение внешнего ключа?
Если вы выполняете внутреннее соединение и НЕ имеете ограничения внешнего ключа, каждая строка имеетдля сопоставления (чтобы удовлетворить логику внутреннего соединения) независимо от того, используется ли столбец.
Если у вас есть ограничение внешнего ключа для уникального столбца (PK, очевидно), оптимизатор знает, что тамможет быть один и только один, и это может устранить необходимость сопоставления, потому что он знает, что оно будет удовлетворено.
Ограничения - ваш друг.
Как показывает другой ответвам также понадобится индекс внешнего ключа вашего статуса, и я также рассмотрю план выполнения, чтобы увидеть, что именно происходит.
Что касается жесткого кодирования GUID, это необычно, поскольку GUID, как правило, довольно анонимны..
Кроме того, у меня обычно есть логический столбец, такой как IsActive в статусе, поскольку у вас может быть несколько «состояний», которые равныЛогически, при определенных обстоятельствах, например, Status IN («Закрыто», «Заблокировано», «Приостановлено», «') => IsInactive = 1, в то время как только (« Заблокировано ») => IsLocked = 1. Я хочу, чтобыиспользовать одну строку состояния, но использовать физические флаги для отдельных состояний в учетных записях, а затем их логические комбинации в качестве логических флагов для критериев запроса.
Я перечитал то, что вы опубликовали, и ваш план выполнения,это будет меняться в зависимости от статистики в таблице.Я очень сильно удваиваю, что план для 100 игроков будет таким же, как и для 1 миллиона игроков. Обязательно проверьте это, прежде чем пытаться провести преждевременную оптимизацию.Кроме того, при тестировании убедитесь, что статистика обновляется - иногда план, рассчитанный на миллион строк, сходит с ума на одну строку.