У меня была таблица с основным столбцом ключа типа nchar.Идентификатор уникального идентификатора SQL Server
Я собирался заменить этот тип, я добавил новый столбец uniqueidentifier
в качестве идентификатора и установил его как первичный ключ, а затем меняю отношения на другие таблицы.
Я сделал это, потому что думал, что uniqueidentifier
- лучший выбор, чем строка для id, потому что этот идентификатор строки был введен пользователем. Это своего рода атрибут имени, используемый в качестве первичного ключа.
Но он, кажется, замедлился при выполнении запросов, и я не понимаю, почему.
подтвердите, был ли указатель таблицы кластером '' уникальным столбцом '' уникального идентификатора''' и вы потеряли столбец 'nchar' – Moumit
Когда вы изменили первичный ключ, индекс на исходном PK мог быть удален. Если вы все еще используете исходный PK в своих запросах, он не будет использовать индекс. Не могли бы вы предоставить еще несколько определений объектов db и пример запроса? – laylarenee
Я не удалял старый столбец, но я также изменил свои запросы. У меня есть индекс каждый столбец, который находится в любом предложении where, где я использую ключ uniqueidentifier. Я не использую на нем кластерный индекс. Но проблема с производительностью как-то ушла, но я не делаю никаких изменений. – jannagy02