Как улучшить производительность моего запроса

Если вы работаете с linux / mac, вы можете это сделать.

from subprocess import call
script="cat *.csv>merge.csv"
call(script,shell=True)
0
задан marc_s 18 January 2019 в 12:44
поделиться

2 ответа

1.Если возможно преобразовать тип данных ZipCode из nvarchar в bigint.
2.три группы по ZipCode

 SELECT ZipCode FROM Address GROUP BY ZipCode;
0
ответ дан dvijparekh 18 January 2019 в 12:44
поделиться

Для максимальной производительности можно создать индексированное представление, чтобы агрегирование было материализовано:

CREATE VIEW vw_Address_ZipCode
WITH SCHEMABINDING
AS
SELECT ZipCode, COUNT_BIG(*) AS ZipCodeCount
FROM dbo.Address
GROUP BY ZipCode;
GO
CREATE UNIQUE CLUSTERED INDEX cdx ON dbo.vw_Address_ZipCode(ZipCode);
GO

Если вы используете Enterprise Edition, оптимизатор может рассмотреть индексированное представление, не ссылаясь на представление напрямую: [ 116]

SELECT DISTINCT ZipCode FROM Address;

В меньших выпусках вам нужно запросить представление и добавить подсказку NOEXPAND, чтобы индекс рассматривался для оптимизации:

SELECT DISTINCT ZipCode FROM dbo.vw_Address_ZipCode WITH(NOEXPAND);

См. документация для требований индексированного представления.

0
ответ дан Dan Guzman 18 January 2019 в 12:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: