Перейти к содержимому
Максиметер

EXISTS РАБОТАЕТ БЫСТРЕЕ COUNT

EXISTS РАБОТАЕТ БЫСТРЕЕ COUNT SQL-совет: перестаньте считать всё через COUNT(*) Многие пишут так: SELECT COUNT(*) FROM orders WHERE user_id = 123; Чтобы проверить — есть ли записи. Проблема: COUNT(*) считает все строки, даже если нужна просто проверка существования. На больших таблицах это лишняя нагрузка и медленный запрос. Правильнее использовать EXISTS. Почему это лучше: - База останавливается на первой найденной строке - Меньше чтения данных - Быстрее на больших таблицах - Использует индексы эффективнее Пример: -- Плохо SELECT COUNT(*) FROM orders WHERE user_id = 123; -- Хорошо SELECT EXISTS ( SELECT 1 FROM orders WHERE user_id = 123 ); -- Или в условии SELECT * FROM users u WHERE EXISTS ( SELECT 1 FROM orders o WHERE o.user_id = u.id );

987 просмотров

Канал в каталоге Максиметера

3 650 подписчиков · IT и технологии

Ещё по теме «IT и технологии»

Читать дальше

Два раза в неделю свежие посты этого канала — на почту и в личную ленту. Без повторного поиска канала вручную.