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

раньше с top(1) 2 секунды было
Стесняюсь спросить... а вы куда топ ставили?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
declare @cd date	
set @cd = '20120101'	

select top(1)
running.[Item No_],	
running.[Location Code],
max(running.[Posting Date]) as 'Posting Date'
from
(	
select	top(1)
ile.[Item No_],	
ile.[Location Code],	
ile.[Posting Date],
sum(Quantity) over(partition by ile.[Item No_],	ile.[Location Code] order by ile.[Posting Date]) as Rt
from [dbo].[Компания$Item Ledger Entry] ile	
where 	
ile.[Posting Date] < @cd 
) running
where round(running.Rt, 2) = 0
group by 
running.[Item No_],	
running.[Location Code]



видимо что-то я не так сделал, 3 минуты - ни 0 записей... )))
...
Рейтинг: 0 / 0
Помогите оптимизировать запрос
    #39576297
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но возможно и так...
спать нужно больше... спать нужно

Код: 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.
26.
27.
28.
29.
WITH
t0 AS (
  SELECT
    [Item],
    [Location],
    [Date],
    [SumQuality] = SUM( [Quality] ) 
      OVER ( 
        PARTITION BY 
          [Item],
          [Location]
        ORDER BY
          [Date]
        ROWS BETWEEN 
              UNBOUNDED PRECEDING 
          AND CURRENT ROW )
  FROM
    [Ledger]
)
SELECT
  [Item],
  [Location],
  [Date] = MAX( [Date] )
FROM
  t0
GROUP BY
  [Item],
  [Location]
;
...
Рейтинг: 0 / 0
Помогите оптимизировать запрос
    #39576301
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
третья попытка и дисквалификация...
Код: 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.
26.
27.
28.
29.
30.
31.
WITH
t0 AS (
  SELECT
    [Item],
    [Location],
    [Date],
    [SumQuantity] = SUM( [Quality] ) 
      OVER ( 
        PARTITION BY 
          [Item],
          [Location]
        ORDER BY
          [Date]
        ROWS BETWEEN 
              UNBOUNDED PRECEDING 
          AND CURRENT ROW )
  FROM
    [Ledger]
)
SELECT
  [Item],
  [Location],
  [Date] = MAX( [Date] )
FROM
  t0
WHERE
  [SumQuantity] <= 0.01
GROUP BY
  [Item],
  [Location]
;
...
Рейтинг: 0 / 0
3 сообщений из 28, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите оптимизировать запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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