powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Подскажите по долгому запросу
27 сообщений из 27, показаны все 2 страниц
Подскажите по долгому запросу
    #39798777
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос выполняется полчаса.
Нашел в плане странный участок (на картинке).
Под Table spool почти 2 млрд. строк (или что это?).
В этой таблице нет такого количества строк.
Подскажите куда копать.
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798778
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-то явный или неявный кросс-джоин, поди, написал.
Короче, ошибка в 17й строке.

UPD: а, ну точно : 418323 * 4283 = 1791677409
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798781
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,

больше похоже на APPLY
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798801
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нету ни кроссов ни эплай.
А 2 млрд. это что? Количество считываний строк? Нет в таблице стока строк.
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798804
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonixНету ни кроссов ни эплай.
А 2 млрд. это что? Количество считываний строк? Нет в таблице стока строк.
запросик покажете? а так ответ уже есть " ошибка в 17й строке."
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798807
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получается 418323 раза считали таблицу состоящую из 4283 строки?
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798808
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
<?query --
(@P1 nvarchar(4000),@P2 nvarchar(4000),@P3 nvarchar(4000),@P4 datetime2(3),@P5 varbinary(16),@P6 numeric(10),@P7 numeric(10),@P8 datetime2(3),@P9 datetime2(3),@P10 varbinary(16),@P11 datetime2(3),@P12 varbinary(16),@P13 numeric(10),@P14 numeric(10),@P15 numeric(10),@P16 numeric(10),@P17 datetime2(3),@P18 datetime2(3),@P19 varbinary(16),@P20 varbinary(16),@P21 varbinary(16),@P22 varbinary(16),@P23 varbinary(16),@P24 varbinary(16),@P25 varbinary(16),@P26 varbinary(16),@P27 varbinary(16),@P28 nvarchar(4000))INSERT INTO #tt290 WITH(TABLOCK) (_Q_001_F_000RRef, _Q_001_F_001RRef, _Q_001_F_002RRef, _Q_001_F_003, _Q_001_F_004, _Q_001_F_005RRef, _Q_001_F_006, _Q_001_F_007_TYPE, _Q_001_F_007_S, _Q_001_F_008RRef) SELECT
T1.Q_001_F_000RRef,
T1.Q_001_F_001RRef,
T1.Q_001_F_002RRef,
T1.Q_001_F_003_,
T1.Q_001_F_004_,
T1.Q_001_F_005RRef,
T1.Q_001_F_006_,
T1.Q_001_F_007_TYPE,
T1.Q_001_F_007_S,
T1.Q_001_F_008RRef
FROM (SELECT
T2.Fld44349RRef AS Q_001_F_000RRef,
ISNULL(T10.Fld40404RRef,T2.Fld44350RRef) AS Q_001_F_001RRef,
T2.Fld44351RRef AS Q_001_F_002RRef,
T2.Fld44352_ AS Q_001_F_003_,
CASE WHEN T10.Fld40404RRef IS NULL THEN T2.Fld44358Balance_ ELSE CASE WHEN (T10.Fld40406Balance_ > 1.0) THEN ((CAST(T10.Fld40406Balance_ AS NUMERIC(18, 4)) * CAST(T10.Fld40407Balance_ AS NUMERIC(19, 4))) / T10.Fld40406Balance_) ELSE (CAST(T10.Fld40406Balance_ AS NUMERIC(18, 4)) * CAST(T10.Fld40407Balance_ AS NUMERIC(19, 4))) END END AS Q_001_F_004_,
T2.Fld44796RRef AS Q_001_F_005RRef,
T2.Fld47448_ AS Q_001_F_006_,
CASE WHEN (0x00000155 = 0x00000155) THEN CASE WHEN CASE WHEN (T9._Fld39901 = @P1) THEN T9._Fld24757 ELSE T9._Fld39901 END IS NOT NULL THEN 0x05 END ELSE 0x01 END AS Q_001_F_007_TYPE,
CASE WHEN (0x00000155 = 0x00000155) THEN CASE WHEN (T9._Fld39901 = @P2) THEN T9._Fld24757 ELSE T9._Fld39901 END ELSE @P3 END AS Q_001_F_007_S,
T2.Fld46269RRef AS Q_001_F_008RRef
FROM (SELECT
T3.Fld47448_ AS Fld47448_,
T3.Fld44796RRef AS Fld44796RRef,
T3.Fld44351RRef AS Fld44351RRef,
T3.Fld44352_ AS Fld44352_,
T3.Fld44349RRef AS Fld44349RRef,
T3.Fld44350RRef AS Fld44350RRef,
T3.Fld46269RRef AS Fld46269RRef,
CAST(SUM(T3.Fld44358Balance_) AS NUMERIC(33, 3)) AS Fld44358Balance_
FROM (SELECT
T4._Fld47448 AS Fld47448_,
T4._Fld44796RRef AS Fld44796RRef,
T4._Fld44351RRef AS Fld44351RRef,
T4._Fld44352 AS Fld44352_,
T4._Fld44349RRef AS Fld44349RRef,
T4._Fld44350RRef AS Fld44350RRef,
T4._Fld46269RRef AS Fld46269RRef,
CAST(SUM(T4._Fld44358) AS NUMERIC(27, 3)) AS Fld44358Balance_
FROM dbo._AccumRgT44359 T4 WITH(NOLOCK)
LEFT OUTER JOIN dbo._Document341 T5 WITH(NOLOCK)
ON T4._Fld44349RRef = T5._IDRRef
WHERE T4._Period = @P4 AND (((T4._Fld44352 = 0x01) AND (T5._Fld6357RRef = @P5))) AND (T4._Fld44358 <> @P6) AND (T4._Fld44358 <> @P7)
GROUP BY T4._Fld47448,
T4._Fld44796RRef,
T4._Fld44351RRef,
T4._Fld44352,
T4._Fld44349RRef,
T4._Fld44350RRef,
T4._Fld46269RRef
HAVING (CAST(SUM(T4._Fld44358) AS NUMERIC(27, 3))) <> 0.0
UNION ALL SELECT
T6._Fld47448 AS Fld47448_,
T6._Fld44796RRef AS Fld44796RRef,
T6._Fld44351RRef AS Fld44351RRef,
T6._Fld44352 AS Fld44352_,
T6._Fld44349RRef AS Fld44349RRef,
T6._Fld44350RRef AS Fld44350RRef,
T6._Fld46269RRef AS Fld46269RRef,
CAST(CAST(SUM(CASE WHEN T6._RecordKind = 0.0 THEN -T6._Fld44358 ELSE T6._Fld44358 END) AS NUMERIC(21, 3)) AS NUMERIC(27, 3)) AS Fld44358Balance_
FROM dbo._AccumRg44347 T6 WITH(NOLOCK)
LEFT OUTER JOIN dbo._Document341 T7 WITH(NOLOCK)
ON T6._Fld44349RRef = T7._IDRRef
WHERE T6._Period >= @P8 AND T6._Period < @P9 AND T6._Active = 0x01 AND (((T6._Fld44352 = 0x01) AND (T7._Fld6357RRef = @P10)))
GROUP BY T6._Fld47448,
T6._Fld44796RRef,
T6._Fld44351RRef,
T6._Fld44352,
T6._Fld44349RRef,
T6._Fld44350RRef,
T6._Fld46269RRef
HAVING (CAST(CAST(SUM(CASE WHEN T6._RecordKind = 0.0 THEN -T6._Fld44358 ELSE T6._Fld44358 END) AS NUMERIC(21, 3)) AS NUMERIC(27, 3))) <> 0.0) T3
GROUP BY T3.Fld47448_,
T3.Fld44796RRef,
T3.Fld44351RRef,
T3.Fld44352_,
T3.Fld44349RRef,
T3.Fld44350RRef,
T3.Fld46269RRef
HAVING (CAST(SUM(T3.Fld44358Balance_) AS NUMERIC(33, 3))) <> 0.0) T2
LEFT OUTER JOIN dbo._Reference268 T8 WITH(NOLOCK)
ON T2.Fld44351RRef = T8._IDRRef
LEFT OUTER JOIN dbo._Document341 T9 WITH(NOLOCK)
ON T2.Fld44349RRef = T9._IDRRef
LEFT OUTER JOIN (SELECT
T11.Fld40405_ AS Fld40405_,
T11.Fld40403RRef AS Fld40403RRef,
T11.Fld42382RRef AS Fld42382RRef,
T11.Fld40767RRef AS Fld40767RRef,
T11.Fld40404RRef AS Fld40404RRef,
CAST(SUM(T11.Fld40407Balance_) AS NUMERIC(33, 4)) AS Fld40407Balance_,
CAST(SUM(T11.Fld40406Balance_) AS NUMERIC(33, 4)) AS Fld40406Balance_
FROM (SELECT
T12._Fld40405 AS Fld40405_,
T12._Fld40403RRef AS Fld40403RRef,
T12._Fld42382RRef AS Fld42382RRef,
T12._Fld40767RRef AS Fld40767RRef,
T12._Fld40404RRef AS Fld40404RRef,
CAST(SUM(T12._Fld40407) AS NUMERIC(27, 4)) AS Fld40407Balance_,
CAST(SUM(T12._Fld40406) AS NUMERIC(27, 4)) AS Fld40406Balance_
FROM dbo._AccumRgT40408 T12 WITH(NOLOCK)
WHERE T12._Period = @P11 AND ((T12._Fld40767RRef = @P12)) AND (T12._Fld40407 <> @P13 OR T12._Fld40406 <> @P14) AND (T12._Fld40407 <> @P15 OR T12._Fld40406 <> @P16)
GROUP BY T12._Fld40405,
T12._Fld40403RRef,
T12._Fld42382RRef,
T12._Fld40767RRef,
T12._Fld40404RRef
HAVING (CAST(SUM(T12._Fld40407) AS NUMERIC(27, 4))) <> 0.0 OR (CAST(SUM(T12._Fld40406) AS NUMERIC(27, 4))) <> 0.0
UNION ALL SELECT
T13._Fld40405 AS Fld40405_,
T13._Fld40403RRef AS Fld40403RRef,
T13._Fld42382RRef AS Fld42382RRef,
T13._Fld40767RRef AS Fld40767RRef,
T13._Fld40404RRef AS Fld40404RRef,
CAST(CAST(SUM(CASE WHEN T13._RecordKind = 0.0 THEN -T13._Fld40407 ELSE T13._Fld40407 END) AS NUMERIC(21, 4)) AS NUMERIC(27, 4)) AS Fld40407Balance_,
CAST(CAST(SUM(CASE WHEN T13._RecordKind = 0.0 THEN -T13._Fld40406 ELSE T13._Fld40406 END) AS NUMERIC(21, 4)) AS NUMERIC(27, 4)) AS Fld40406Balance_
FROM dbo._AccumRg40400 T13 WITH(NOLOCK)
WHERE T13._Period >= @P17 AND T13._Period < @P18 AND T13._Active = 0x01 AND ((T13._Fld40767RRef = @P19))
GROUP BY T13._Fld40405,
T13._Fld40403RRef,
T13._Fld42382RRef,
T13._Fld40767RRef,
T13._Fld40404RRef
HAVING (CAST(CAST(SUM(CASE WHEN T13._RecordKind = 0.0 THEN -T13._Fld40407 ELSE T13._Fld40407 END) AS NUMERIC(21, 4)) AS NUMERIC(27, 4))) <> 0.0 OR (CAST(CAST(SUM(CASE WHEN T13._RecordKind = 0.0 THEN -T13._Fld40406 ELSE T13._Fld40406 END) AS NUMERIC(21, 4)) AS NUMERIC(27, 4))) <> 0.0) T11
GROUP BY T11.Fld40405_,
T11.Fld40403RRef,
T11.Fld42382RRef,
T11.Fld40767RRef,
T11.Fld40404RRef
HAVING (CAST(SUM(T11.Fld40407Balance_) AS NUMERIC(33, 4))) <> 0.0 OR (CAST(SUM(T11.Fld40406Balance_) AS NUMERIC(33, 4))) <> 0.0) T10
ON ((((T2.Fld44350RRef = T10.Fld40403RRef) AND (T8._Description = T10.Fld40405_)) AND (T2.Fld44349RRef = T10.Fld42382RRef)) AND (T9._Fld6357RRef = T10.Fld40767RRef))) T1
LEFT OUTER JOIN dbo._Document341 T14 WITH(NOLOCK)
ON T1.Q_001_F_000RRef = T14._IDRRef
LEFT OUTER JOIN dbo._Reference153 T15 WITH(NOLOCK)
ON T1.Q_001_F_001RRef = T15._IDRRef
WHERE (T14._Fld26448 = 0x00) AND (T14._Fld26449 = 0x00) AND (T14._Fld26450 = 0x00) AND ((T15._Fld48115RRef IN (@P20, @P21, @P22, @P23, @P24, @P25, @P26, @P27))) AND (T1.Q_001_F_007_TYPE = 0x05 AND T1.Q_001_F_007_S LIKE @P28 ESCAPE '/')
--?>

...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798812
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
иисусья тряпка, спрячьте немедленно
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798819
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKиисусья тряпка, спрячьте немедленно

бойся того, чего очень хочешь (ц, кетайская народная мудрость)
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798822
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинTaPaKиисусья тряпка, спрячьте немедленно

бойся того, чего очень хочешь (ц, кетайская народная мудрость)
тут нужны опытные проктологиодинцэшники
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798925
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Непойму логику этого плана. Есть обычное левое соединение. Зачем такой огород городить?
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798928
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonixНепойму логику этого плана. Есть обычное левое соединение. Зачем такой огород городить?
там левое соединение многик ко многим, вот и множит, но ту портянку открвать не буду
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798937
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKleonixНепойму логику этого плана. Есть обычное левое соединение. Зачем такой огород городить?
там левое соединение многик ко многим, вот и множит, но ту портянку открвать не буду


Вот это соединение. Ничего необычного нет.
Код: sql
1.
2.
3.
LEFT OUTER JOIN dbo._Reference153 T15 WITH(NOLOCK)
ON T1.Q_001_F_001RRef = T15._IDRRef
WHERE (T14._Fld26448 = 0x00) AND (T14._Fld26449 = 0x00) AND (T14._Fld26450 = 0x00) AND ((T15._Fld48115RRef IN (@P20, @P21, @P22, @P23, @P24, @P25, @P26, @P27))) AND (T1.Q_001_F_007_TYPE = 0x05 AND T1.Q_001_F_007_S LIKE @P28 ESCAPE '/')



По полю _IDRRef в таблице _Reference153 кластерный индекс построен.

Я правильно понимаю, что вместо мёржа или хэша система выбрала нэстид лупс? Отсюда и 2 млрд.
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798939
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonix,

авторЯ правильно понимаю, что вместо мёржа или хэша система выбрала нэстид лупс? Отсюда и 2 млрд.
да во всём виноват sql
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798940
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonix,

ну и на плане NL с крестиком, это как раз и есть отсусвие условий
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798967
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonix,

тот жирный красный крестик справа вверху как раз и говорит об отсутствии в запросе условия корреляции строк между таблицами, т.е. результат одной выборки объединяется в другим результатов без условия объединения. CROSS JOIN, декартово произведение.
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39798986
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonixВот это соединение. Ничего необычного нет.Точно это?
Если этот LEFT OUTER JOIN убрать, то всё выполнится быстро?
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39799040
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

100% этот запрос. Он один висел 35 минут в это время. Я в это время и текст дёрнул и план.
А соединение таблиц тоже должно быть это, потому что там только одна таблица _Reference153 и в плане она же.
Без соединения не пробовал ещё.
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39799072
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonixalexeyvg,

100% этот запрос. Он один висел 35 минут в это время. Я в это время и текст дёрнул и план.
А соединение таблиц тоже должно быть это, потому что там только одна таблица _Reference153 и в плане она же.
Без соединения не пробовал ещё.Запрос то понятно.

Вот это соединение, LEFT OUTER JOIN dbo._Reference153 T15, оно зачем?

Поля из таблицы dbo._Reference153 не используются, фильтрация тоже, ибо LEFT.

Получается, это соединение нужно либо для размножения количества записей (одинаковых!), либо это баг, либо диверсия. ДБА или 1С-ника недавно не увольняли? :-)

А, понял, это же не LEFT OUTER JOIN, а INNER JOIN , там же условие добавляется в конце...
Там на самом деле:
Код: sql
1.
2.
INNER JOIN dbo._Reference153 T15 WITH(NOLOCK)
ON T1.Q_001_F_001RRef = T15._IDRRef AND T15._Fld48115RRef IN (@P20, @P21, @P22, @P23, @P24, @P25, @P26, @P27)
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39799074
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonixЯ в это время и текст дёрнул и план.План не сохранили? План в формате sqlplan намного информативнее картинки на экране, и запрос там внутри есть, можно текст не сохранять.
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39799535
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,
нет, не сохранил. В следующий раз попробую.
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39799538
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgleonixalexeyvg,

100% этот запрос. Он один висел 35 минут в это время. Я в это время и текст дёрнул и план.
А соединение таблиц тоже должно быть это, потому что там только одна таблица _Reference153 и в плане она же.
Без соединения не пробовал ещё.Запрос то понятно.

Вот это соединение, LEFT OUTER JOIN dbo._Reference153 T15, оно зачем?

Поля из таблицы dbo._Reference153 не используются, фильтрация тоже, ибо LEFT.

Получается, это соединение нужно либо для размножения количества записей (одинаковых!), либо это баг, либо диверсия. ДБА или 1С-ника недавно не увольняли? :-)

А, понял, это же не LEFT OUTER JOIN, а INNER JOIN , там же условие добавляется в конце...
Там на самом деле:
Код: sql
1.
2.
INNER JOIN dbo._Reference153 T15 WITH(NOLOCK)
ON T1.Q_001_F_001RRef = T15._IDRRef AND T15._Fld48115RRef IN (@P20, @P21, @P22, @P23, @P24, @P25, @P26, @P27)



Смысл этого соединения. Пользователь в отчете устанавливает отбор по номенклатуре по списку номенклатуры.
_Reference153 справочник Номенклатура, а IN (@P20, @P21, @P22, @P23, @P24, @P25, @P26, @P27) список ссылок на элементы номенклатуры.
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39799542
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сегодня опять были подобные ситуации (скрин прикрепил).
Опять лярды строк и полчаса выполнения.
Что это может быть?
Я правильно понимаю что это оптимизатор промахивается.
Статистика обновляется через день.
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39799557
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonixСегодня опять были подобные ситуации (скрин прикрепил).
Опять лярды строк и полчаса выполнения.
Что это может быть?План опять не сохранили? :-)
И это, выведите select @@version, может, у вас там RTM, или даже хуже?
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39799568
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgleonixСегодня опять были подобные ситуации (скрин прикрепил).
Опять лярды строк и полчаса выполнения.
Что это может быть?План опять не сохранили? :-)
И это, выведите select @@version, может, у вас там RTM, или даже хуже?

Плана нет.

Microsoft SQL Server 2016 (SP2-GDR) (KB4293802) - 13.0.5081.1 (X64)
Jul 20 2018 22:12:40
Copyright (c) Microsoft Corporation
Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2019 Standard 10.0 <X64> (Build 17763: )
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39799658
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonixalexeyvgпропущено...
План опять не сохранили? :-)
И это, выведите select @@version, может, у вас там RTM, или даже хуже?

Плана нет.Открыл план, сделал скриншот, закрыл план? Ну удачи вам в отладке!

В некоторых случаях даже когда есть условие соединения сервер решает сделать CROSS JOIN между 2х таблиц, а фильтровать уже потом. Скорее всего такое происходит из-за плохих оценок или сложности запроса. Если станартные средства типа обновления статистики не помогают то лечить такое обычно сложно.
...
Рейтинг: 0 / 0
Подскажите по долгому запросу
    #39799758
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MindleonixПлана нет.Открыл план, сделал скриншот, закрыл план? Ну удачи вам в отладке!Угу, неужели нажать Ctrl+S сложнее, чем сделать скриншот.
Зачем вообще люди делают скриншоты? Секретарши понятно, но программисты? Кроме объяснения чего то в GUI.
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Подскажите по долгому запросу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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