Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Слишком большие запросы  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
— Привет.
— Привет.
— Как там ваши дела с Кристиной? Еще не поженились?
— Нет, мы расстались.
— А что случилось?
— Мне надоело, у нее были слишком большие запросы.
— Например какие?

— Ну например:


update instance inner join (select groupid as group_id, (select messageid from message inner join thread on threadid = message.thread_id where location_id = @location_id and language_id = @language_id and concat(group_key, '.') like concat(group.`key`, '.%') order by message.created desc limit 1) as last_message_id, (select count(*) from thread where location_id = @location_id and language_id = @language_id and concat(group_key, '.') like concat(group.`key`, '.%')) as thread_count, (select if(sum(thread.message_count) is null, 0, sum(thread.message_count)) from thread where location_id = @location_id and language_id = @language_id and concat(group_key, '.') like concat(group.`key`, '.%')) as message_count from group where @group_key like concat(`key`, '.%')) as statistics on statistics.group_id = instance.group_id set instance.message_id = statistics.last_message_id, instance.thread_count = statistics.thread_count, instance.message_count = statistics.message_count where instance.location_id = @location_id and instance.language_id = @language_id;
23 апр 19, 19:49    [21870090]     Ответить | Цитировать Сообщить модератору
 Re: Слишком большие запросы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36968
Этот запрос синтаксически некорректен. И, вообще, к чему он?
23 апр 19, 19:51    [21870091]     Ответить | Цитировать Сообщить модератору
 Re: Слишком большие запросы  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Гавриленко Сергей Алексеевич,

Шутки за 300
23 апр 19, 20:41    [21870113]     Ответить | Цитировать Сообщить модератору
 Re: Слишком большие запросы  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54168
UPDATE INSTANCE
INNER JOIN
  (SELECT groupid AS group_id,

     (SELECT messageid
      FROM message
      INNER JOIN THREAD ON threadid = message.thread_id
      WHERE location_id = @location_id
        AND language_id = @language_id
        AND concat(group_key, '.') LIKE concat(group.`key`, '.%')
      ORDER BY message.created DESC
      LIMIT 1) AS last_message_id,

     (SELECT count(*)
      FROM THREAD
      WHERE location_id = @location_id
        AND language_id = @language_id
        AND concat(group_key, '.') LIKE concat(group.`key`, '.%')) AS thread_count,

     (SELECT if(sum(thread.message_count) IS NULL, 0, sum(thread.message_count))
      FROM THREAD
      WHERE location_id = @location_id
        AND language_id = @language_id
        AND concat(group_key, '.') LIKE concat(group.`key`, '.%')) AS message_count
   FROM GROUP
   WHERE @group_key LIKE concat(`key`, '.%')) AS STATISTICS ON statistics.group_id = instance.group_id
SET instance.message_id = statistics.last_message_id,
    instance.thread_count = statistics.thread_count,
    instance.message_count = statistics.message_count
WHERE instance.location_id = @location_id
  AND instance.language_id = @language_id;
23 апр 19, 22:28    [21870151]     Ответить | Цитировать Сообщить модератору
 Re: Слишком большие запросы  [new]
dklim.kzn
Member

Откуда: Казань
Сообщений: 123
не помню в мс update ... inner join ...
24 апр 19, 12:45    [21870448]     Ответить | Цитировать Сообщить модератору
 Re: Слишком большие запросы  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7754
F1 всё помнит.
24 апр 19, 12:48    [21870453]     Ответить | Цитировать Сообщить модератору
 Re: Слишком большие запросы  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Владислав Колосов
F1 всё помнит.

что он такого помнит про приведённый пример?
24 апр 19, 13:02    [21870468]     Ответить | Цитировать Сообщить модератору
 Re: Слишком большие запросы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36968
Это вообще не mssql, судя по применеию отсутствующей в нем функции if()
24 апр 19, 13:41    [21870518]     Ответить | Цитировать Сообщить модератору
 Re: Слишком большие запросы  [new]
nvv
Member

Откуда:
Сообщений: 54
Большие запросы?
Интересно, кто с какими встречался?

У меня недавно был "рекорд" - 2500 строк. Львиная доля строк - соединения...
Внедренец полез туда куда нельзя... и вот...
26 апр 19, 10:55    [21872337]     Ответить | Цитировать Сообщить модератору
 Re: Слишком большие запросы  [new]
L_argo
Member

Откуда:
Сообщений: 1209
nvv
Большие запросы?
Интересно, кто с какими встречался?
.
Достаточно открыть к-л богатую функционалом форму в 1С.
Встречал там запросы по сотне килобайт.
Крайне насыщены обращениями к временным таблицам и параметрам.
29 апр 19, 19:57    [21874817]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить