Я знаю, что эти слова могут заставить вас съежиться, но "это зависит".
Скорее всего, вы хотите, чтобы заказ основывался на ProductID и / или OrderId, а не на столбце autonumber (суррогат), так как autonumber не имеет естественного значения в вашей базе данных. Возможно, вы хотите упорядочить таблицу соединений по тому же полю, что и родительская таблица.
Сначала поймите, почему и как вы используете идентификатор суррогатного ключа
на первом месте; это часто будет диктовать, как вы индексируете это. я
Предположим, вы используете суррогатный ключ, потому что вы используете некоторые
фреймворк, который хорошо работает с ключами одного столбца. Если нет
конкретная причина проектирования, то для таблицы соединений, я бы упростил
проблема и просто удалить идентификатор автонумера, если он не приносит другой
выгода. Первичный ключ становится (ProductID, OrderID). Если не,
Вы должны по крайней мере убедиться, что ваш индекс на (ProductID,
Кортеж OrderID) уникален для сохранения целостности данных.
Кластерные индексы хороши для последовательных сканирований / объединений, когда
запрос требует результатов в том же порядке, в котором упорядочен индекс.
Итак, посмотрите на ваши шаблоны доступа, выясните, по каким ключам вы
будет делать последовательные, многорядные выборки / сканирования, и с помощью которого
ключ, вы будете делать случайный, индивидуальный доступ к строке, и создать
кластерный индекс по ключу, который вы будете сканировать чаще всего, а некластеризованный
Индекс ключа для ключа, который вы будете использовать для произвольного доступа. Ты должен
выберите один или другой, так как вы не можете кластеризовать оба.
ПРИМЕЧАНИЕ. Если у вас противоречивые требования, вам может помочь метод («трюк»). Если все столбцы в запросе найдены в индексе, то этот индекс является таблицей-кандидатом для механизма базы данных, который будет использоваться для удовлетворения требований запроса. Вы можете использовать этот факт для хранения данных в более чем одном порядке, даже если они конфликтуют друг с другом. Просто помните о плюсах и минусах добавления большего количества полей в индекс и принимайте осознанное решение после понимания характера и частоты запросов, которые будут обрабатываться.