powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ускорить выполнение
14 сообщений из 14, страница 1 из 1
Ускорить выполнение
    #40092211
Caxa_ASS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

у меня есть select, который работает, но время возврата данных занимает много времени. Каким образом оптимизировать данный скрипт, так подозреваю, что производительность падает в этом месте ...
Код: sql
1.
and Code in (select distinct Code from Product)

...

Код: sql
1.
2.
3.
4.
select Code, count(distinct ProductName) as Amount, sum(Avaliable) as Avaliable from Product
where [Status] = 'New' and Code in (select distinct Code from Product)
group by Code
order by Amount desc



Результат возврата select -> скрин нижe

[img=]
...
Рейтинг: 0 / 0
Ускорить выполнение
    #40092215
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте вместо "and Code in " сделать "and exists"
...
Рейтинг: 0 / 0
Ускорить выполнение
    #40092221
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
Попробуйте вместо "and Code in " сделать "and exists"


Чо пробовать? Трясти надо.

and Code in - бессмысленно, чуть более, чем полностью.
Можно смело убрать.
Ни один байт не пострадает.
...
Рейтинг: 0 / 0
Ускорить выполнение
    #40092222
Caxa_ASS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

Спасибо большое, производительность увеличилась, теперь возврат данных происходит за 2 мин. вместо 11 мин.
...
Рейтинг: 0 / 0
Ускорить выполнение
    #40092226
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Caxa_ASS
Ролг Хупин,

Спасибо большое, производительность увеличилась, теперь возврат данных происходит за 2 мин. вместо 11 мин.

Вам следует переквалифицироваться в управдомы.
...
Рейтинг: 0 / 0
Ускорить выполнение
    #40092227
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222

and Code in - бессмысленно, чуть более, чем полностью.
Можно смело убрать.

+1
...
Рейтинг: 0 / 0
Ускорить выполнение
    #40092241
Caxa_ASS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222,

серьезно, горе советчикам привет и чао
...
Рейтинг: 0 / 0
Ускорить выполнение
    #40092259
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Caxa_ASS
aleks222,

серьезно, горе советчикам привет и чао
Слова не мальчика, но мужа?
aleks2 прав на все 100%, ибо невозможно выбрать из таблицы то, что в ней нет.
...
Рейтинг: 0 / 0
Ускорить выполнение
    #40092289
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap
Caxa_ASS
aleks222,

серьезно, горе советчикам привет и чао
Слова не мальчика, но мужа?
aleks2 прав на все 100%, ибо невозможно выбрать из таблицы то, что в ней нет.


Не, ну есть один экзотический случай, когда бред тредстартера сработает нетривиально: некий CODE is null.
Только сомнительно, что тредстартер столь тонкий пограммизд.
...
Рейтинг: 0 / 0
Ускорить выполнение
    #40092357
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222
Не, ну есть один экзотический случай, когда бред тредстартера сработает нетривиально: некий CODE is null.
Если такое может быть, то лучше написать and Code in not null
Бредовый код, бредовая задача, "программирование вслепую по слухам"
...
Рейтинг: 0 / 0
Ускорить выполнение
    #40092379
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создайте некластерный индекс по полю, если уж это так критично. Особенно - если таблица наполняется медленно, а значения из неё выбираются часто.

create nonclustered index Code_index on Product (code) - что-то типа такого.


И уберите потом distinct в подзапросе (за ненадобностью)
...
Рейтинг: 0 / 0
Ускорить выполнение
    #40092395
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SIMPLicity_
Создайте некластерный индекс по полю, если уж это так критично. Особенно - если таблица наполняется медленно, а значения из неё выбираются часто.

create nonclustered index Code_index on Product (code) - что-то типа такого.


И уберите потом distinct в подзапросе (за ненадобностью)


Здоровы ли вы?
Какой индекс, какой distinct?
Зачем?
...
Рейтинг: 0 / 0
Ускорить выполнение
    #40092420
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222,

да, если честно, к запросу не присматривался, а тут оказывается:

select Code , ... from Product
where ... and Code in ( select distinct Code from Product )
group by Code
order by Amount desc

Так что согласен. Извините все.
...
Рейтинг: 0 / 0
Ускорить выполнение
    #40092432
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222
Ролг Хупин
Попробуйте вместо "and Code in " сделать "and exists"


Чо пробовать? Трясти надо.

and Code in - бессмысленно, чуть более, чем полностью.
Можно смело убрать.
Ни один байт не пострадает.


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


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