Как видно из названия... Я пытаюсь выяснить самый быстрый способ с наименьшими издержками, чтобы определить, существует ли запись в таблице или нет.
Пример запроса:
SELECT COUNT(*) FROM products WHERE products.id = ?;
vs
SELECT COUNT(products.id) FROM products WHERE products.id = ?;
vs
SELECT products.id FROM products WHERE products.id = ?;
Скажите, что ?
обменивается с помощью 'TB100'
... как первый, так и второй запросы вернут тот же результат (скажем... 1
для этой беседы). Последний запрос вернет 'TB100'
, как ожидалось, или ничего, если id
отсутствует в таблице.
Цель состоит в том, чтобы выяснить, находится ли id
в таблице или нет. Если нет, программа будет вставлять запись, если она есть, программа пропустит ее или выполнит запрос UPDATE, основанный на другой программной логике, вне сферы действия этого вопроса.
Что быстрее и имеет меньше накладных расходов? (Это будет повторяться десятки тысяч раз за прогон программы и будет выполняться много раз в день).
(Запуск этого запроса с M $SQL Server с Java через MD-драйвер JDBC)