COUNT против EXISTS

один из способов проверить еслть ли запись в mysql это дать запрос с использование Count

Select count(id) from some_table where ....

Другой использовать функцию Exists

Select exists(select * form some_table where ....)

на первый взгляд делают они одно и тоже кроме того что есть большая разница в скорости. Вот результаты тестов на таблице с 120.000.000 записями


SELECT COUNT(*)
21 min 47.54 sec
SELECT * from table limit 1;
0.25 sec
select id from table limit 1;
0.29 sec
SELECT IF EXISTS…
0.03 seconds

Comments are closed.