
Комментарии 5
Почему «парзер»? Откуда это, если даже англоязычные произносят [s]?
я как-то чаще слышал “з” чем “с”, но таки да, заимствованное должно быть с “с”.
https://www.oed.com/dictionary/parser_n – “British English /ˈpɑːzə/ PAR-zuh”
Если мы со стороны приложения -- то можно втыкать проверки и ограничения на количества повторяемых элементов: ограничивать количество в
IN (?), ограничивать количество OR/AND, ограничивать число элементов в форме, понизить максимальный размер форм
Ограничивать - это экстенсив, от которого мало толку. Логику выполнения на уровне формирования запроса нужно менять. Если встречается что-то типа AND (0=1 OR cat_id=1 OR cat_id=2 OR cat_id=3) из ~десятка (предел определяется экспериментально) или менее вариантов значения - выполняем как написано, иначе сливаем набор критериев во временную таблицу (которую ещё и проиндексировать можно). Одно дополнительное ветвление в интерактивной части кода и два разных шаблона запроса - потери минимальны, зато эффект налицо.
Как уронить базу данных