powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL-запрос
3 сообщений из 3, страница 1 из 1
SQL-запрос
    #39693750
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Есть SQL-запрос, который из таблицы с количеством строк 16 000 000 строк ищет дублирующие ТТ+SKU+Дата. Исходная таблица в представлении. Индексы по таким полям как [Код ТТ], [Код продукции] и [Дата] есть.
SQL-запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
SELECT
	a.[Код ТТ],
	a.[Код продукции],   
        a.[Дата],
	c.[Количество строк]
FROM
	(SELECT DISTINCT
            [Код ТТ],
            [Код продукции],
            [Дата]
         FROM
            [Profit].[promo].[aux_sales_mark_action]) as a
OUTER APPLY
	(SELECT
              COUNT (*) as [Количество строк]
         FROM
              [Profit].[promo].[aux_sales_mark_action] b
         WHERE
	      a.[Код ТТ] = b.[Код ТТ]
	      AND
	      a.[Код продукции] = b.[Код продукции]
	      AND
	      a.[Дата] = b.[Дата]) as c
WHERE
    c.[Количество строк]>1

Запрос выполняется долго. Насколько возможно оптимизировать SQL-запрос так, чтобы уменьшить время выгрузки? Темповая таблица поможет решит эту проблему, например, вложенный запрос (SELECT DISTINCT ...) затолкать в TEMP?
...
Рейтинг: 0 / 0
SQL-запрос
    #39693767
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удалите одноразово дубликаты и ничего больше не надо будет искать.

И вот так будет в два раза быстрее (и короче):

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT 
    [Код ТТ],
    [Код продукции],
    [Дата],
    [Количество строк] = count(*)
FROM [Profit].[promo].[aux_sales_mark_action]
group by
    [Код ТТ],
    [Код продукции],
    [Дата]
having count(*) > 1
...
Рейтинг: 0 / 0
SQL-запрос
    #39693777
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,

Спасибо. 26 секунд против больше двух часов
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL-запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]