Я пытаюсь выяснить, существует ли строка в таблице. Используя MySQL, лучше сделать такой запрос:
SELECT COUNT(*) AS total FROM table1 WHERE ...
и проверьте, не является ли сумма ненулевым или лучше сделать такой запрос:
SELECT * FROM table1 WHERE ... LIMIT 1
и проверить, были ли возвращены строки?
В обоих запросах предложение WHERE использует индекс.