- В этой теме 1 ответ, 2 участника, последнее обновление 3 недели, 1 день назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Что быстрее в запросе: «НЕ Проведен» или «Проведен = Ложь»?
что быстрее в запросе Не Проведен или Проведен = Ложь ?
Alex, привет!
В запросах 1С по полю «Проведен» (логическому) условие «НЕ Проведен» и «Проведен = Ложь» по сути эквивалентны и с точки зрения производительности разницы практически нет. Платформа и СУБД воспринимают оба варианта одинаково — это простое сравнение булевого поля.
Однако, если копнуть глубже:
— «Проведен = Ложь» — это явное сравнение, которое однозначно понятно и читаемо.
— «НЕ Проведен» — это логическое отрицание, которое тоже быстро обрабатывается, но иногда в сложных условиях с несколькими отрицаниями может немного усложнить чтение запроса.
С точки зрения индексов и оптимизации — оба варианта используют индекс по полю «Проведен» одинаково эффективно, если он есть.
Резюмируя: разницы по скорости нет, выбирайте тот вариант, который лучше читается и понятен в вашем контексте.
Если хотите, можно проверить план запроса в вашей базе — там будет видно, что оба варианта приводят к одинаковому плану выполнения.