Size: a a a

SqlCom.ru - Стиль жизни SQL

2021 February 09

Д

Даниил in SqlCom.ru - Стиль жизни SQL
)))
источник

VL

V. Lavrinovics 🇦🇹... in SqlCom.ru - Стиль жизни SQL
Посоветуйте, как реализовывать лучше; В базу должны попадать такие значения:
| id | category | dear | price | src | name |
|  1 |      1+         |    1+  |    1      | 1    | 1          |

1 = одно значение. 1+ = одно и более чем одно значение.

Пользователь выбирает category, dear, price, притом всё это не обязательно выбрать, можно выбрать например только dear или только category, а можно выбрать несколько category и какую ни-будь price, итп.
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Simon
Я имел ввиду сам Select состоит из 8к строк (содержит много UnionAll). Его Entity Framework генерит
Размер самого запроса не влияет почти ни на что
источник

АГ

Антон Горлищев... in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Размер самого запроса не влияет почти ни на что
А как же быстродействие системы, процессорная нагрузка, запрос на 8к стро, да фигня какая
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Антон Горлищев
А как же быстродействие системы, процессорная нагрузка, запрос на 8к стро, да фигня какая
Чего?
источник

АГ

Антон Горлищев... in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Чего?
Криво написанный запрос, положит на ....... сервер, вот чего, ну или будет сжирать львиную долю ВП
источник

O

Oleg T in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Размер самого запроса не влияет почти ни на что
У оптимизатора есть лимит времени на генерацию плана. Если запрос большой, то велика вероятность что мы получим не очень хороший план по причине нехватки времени на третью стадию оптимизации
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Антон Горлищев
Криво написанный запрос, положит на ....... сервер, вот чего, ну или будет сжирать львиную долю ВП
Криво написанный запрос может быть и большим, и маленьким
источник

АГ

Антон Горлищев... in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Криво написанный запрос может быть и большим, и маленьким
О чем и речь, 8к строк, это ни разу не маленько
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Oleg T
У оптимизатора есть лимит времени на генерацию плана. Если запрос большой, то велика вероятность что мы получим не очень хороший план по причине нехватки времени на третью стадию оптимизации
Тоже мимо.
В основном время оптимизации зависит от количества перестановок таблиц в joinах, а не от размера запроса
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Антон Горлищев
О чем и речь, 8к строк, это ни разу не маленько
Это 4 страницы текста всего лишь...
источник

АГ

Антон Горлищев... in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Это 4 страницы текста всего лишь...
Мать его 4 страницы
источник

O

Oleg T in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Тоже мимо.
В основном время оптимизации зависит от количества перестановок таблиц в joinах, а не от размера запроса
Мне не дано знать из чего эти 8 тыщ строк. Я подразумеваю наличие средней сложности соединений.
источник

ДЗ

Дмитрий Зайцев... in SqlCom.ru - Стиль жизни SQL
В моём опыте большой запрос может вообще остановить работу оптимизатора, но то было всего 1 раз. Переполнялся один из буфферов и сервер не мог выделить ни байта новой памяти на оптимизацию пока мы не срубили огромный запрос. Так длилось 18 часов.
источник

ДЗ

Дмитрий Зайцев... in SqlCom.ru - Стиль жизни SQL
Мы смогли найти тот буффер через perfmon и смогли тем же запросом воспроизвести проблему
источник

IC

Igor Chizhov in SqlCom.ru - Стиль жизни SQL
Oleg T
У оптимизатора есть лимит времени на генерацию плана. Если запрос большой, то велика вероятность что мы получим не очень хороший план по причине нехватки времени на третью стадию оптимизации
А этот лимит где-то устанавливается или жестко прошит?
Недавно столкнулись с критической ситуацией. Посредством ORM программисты сформировали дикий запрос, время компиляции которого на незагруженном сервере составляет около 5 секунд. Так ещё прикрутили этот запрос к гриду, который при определенных действиях пользователя начинал формировать эти запросы десятками, что вызвало огромные очереди процессора. Время компиляции запроса в 2,5 минуты мне будет в страшных снах сниться...
источник

O

Oleg T in SqlCom.ru - Стиль жизни SQL
Igor Chizhov
А этот лимит где-то устанавливается или жестко прошит?
Недавно столкнулись с критической ситуацией. Посредством ORM программисты сформировали дикий запрос, время компиляции которого на незагруженном сервере составляет около 5 секунд. Так ещё прикрутили этот запрос к гриду, который при определенных действиях пользователя начинал формировать эти запросы десятками, что вызвало огромные очереди процессора. Время компиляции запроса в 2,5 минуты мне будет в страшных снах сниться...
Он параметрический, но рулить им нельзя, на сколько мне известно
источник

O

Oleg T in SqlCom.ru - Стиль жизни SQL
Igor Chizhov
А этот лимит где-то устанавливается или жестко прошит?
Недавно столкнулись с критической ситуацией. Посредством ORM программисты сформировали дикий запрос, время компиляции которого на незагруженном сервере составляет около 5 секунд. Так ещё прикрутили этот запрос к гриду, который при определенных действиях пользователя начинал формировать эти запросы десятками, что вызвало огромные очереди процессора. Время компиляции запроса в 2,5 минуты мне будет в страшных снах сниться...
Forced parameterization не пробовали? Могло помочь
источник

G

Gopneg in SqlCom.ru - Стиль жизни SQL
ормы обычно формируют параметризированные запросы, если очень не стараться сделать обратное
источник

O

Oleg T in SqlCom.ru - Стиль жизни SQL
Gopneg
ормы обычно формируют параметризированные запросы, если очень не стараться сделать обратное
Ага. Тут видимо что-то пошло не так, раз он рекомпилировался при каждом выполнении
источник