Не тестируйте индексы и не оптимизируйте запросы без базы данных, заполненной репрезентативными данными.
База данных обычно игнорирует любой индекс в логическом поле. Он будет игнорировать его как часть составного индекса. (Однако см. «Фильтрованный индекс» в SQL Server 2008.)
Для составных индексов, где будут предоставлены все значения, перечислите их в обратном порядке по количеству элементов (или по арности, или по количеству различных значений в данных).
Не думай ничего. Протестируйте все.
У вас есть только один кластерный индекс. Не тратьте его на уникальный индекс, если вы не уверены, что вам действительно нужно почти всегда извлекать последовательности, упорядоченные в этом столбце. Вы хотите использовать его для случаев, когда часто выбираются несколько смежных строк.
Индекс «покрытия» - это индекс, который сам по себе содержит все поля, необходимые для разрешения выбора. Помните, что индекс, который «почти» покрывает, недостаточно хорош в большинстве критических случаев.
Большая часть того, что вы читаете в онлайн-блогах о разработке индексов, либо неверна, либо высококвалифицирована и неприменима в вашем случае, либо плохо откалибрована с точки зрения выгоды и стоимости.