Использование последовательного идентификатора GUID во многих отношениях многих в SQL Server

Основанный на вопросе " Каковы наилучшие методы использования GUID в качестве первичного ключа, особенно в отношении производительности?", ИМХО, если вы используете последовательный GUID в качестве PK с некластеризованным индексом и используете INT или же BIG INT IDENTITY как кластеризованный индекс и учитывая, что приложение может позже потребовать репликации, это будет выгодно и не будет так сильно терять производительность при сканировании таблиц, внутренних объединениях и вставках.

Но как насчет мая ко многим отношениям? Должны ли мы также использовать другой (INT или же BIGINT) кластеризованный индекс для их таблицы мостов, чтобы получить ту же производительность, что и таблицы мостов с BIGINT FKS?

1 ответ

Я провел несколько нагрузочных тестов и вижу, что bigint - лучший выбор для запроса данных из больших таблиц с множеством объединений и так далее.

заключение:

У меня есть два ключа в каждой таблице. ID(bigint) и extID(guid). extID используется только для обмена между серверами. ID - это PK, и для каждой таблицы есть кластерный индекс для PK.

Другие вопросы по тегам