Запрос ниже для получения различных почтовых индексов из таблицы Address
занимает примерно 4 минуты и 42 секунды.В таблице Address
содержится 1 006 699 записей.Составной ключ для таблицы - Address1, Address2, City, ZipCode
.
Были случаи, когда выполнение запроса занимало 5 секунд или даже 1 миллисекунду.
Как повысить производительность запроса?
Вот запрос SQL:
SELECT DISTINCT ZipCode FROM Address
Вот схема для таблицы:
CREATE TABLE [dbo].[Address]
(
[AddressID] [INT] IDENTITY(1,1) NOT NULL,
[Address1] [NVARCHAR](1000) NOT NULL,
[Address2] [NVARCHAR](1000) NOT NULL,
[City] [NVARCHAR](1000) NOT NULL,
[StateCd] [NVARCHAR](2) NULL,
[ZipCode] [NVARCHAR](10) NOT NULL,
PRIMARY KEY CLUSTERED
([Address1] ASC, [Address2] ASC, [City] ASC, [ZipCode] ASC)
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Address] ADD DEFAULT ('') FOR [Address2]
GO
Я не могу добавить изображение плана выполнения.