Как проверить строчку на существование (SQL)

Не относящиеся к фреймворку и программированию вопросы
Ответить
Аватара пользователя
Антон Смирнов
Сообщения: 284
Зарегистрирован: 2011.07.08, 10:37
Контактная информация:

Как проверить строчку на существование (SQL)

Сообщение Антон Смирнов »

На одном собеседовании спросили: как проверить строчку на существование по полю id (индекс, но оно не уникальное)

Первое что приходит в голову:
SELECT count(id) FROM table WHERE id=:id

Но есть более эффективное решение. А как проверяете вы?
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Как проверить строчку на существование (SQL)

Сообщение anton44eg »

думаю
SELECT id
FROM table
WHERE id=:id
LIMIT 1
быстрее будет

П.С. замерил коня в вакууме, но мой вариант в 1.5 раза быстрее
Аватара пользователя
Антон Смирнов
Сообщения: 284
Зарегистрирован: 2011.07.08, 10:37
Контактная информация:

Re: Как проверить строчку на существование (SQL)

Сообщение Антон Смирнов »

Вариант плох тем, что значение поля id будет передаваться постоянно от MySQL в PHP, а если, скажем, это поле VARCHAR 1000 ?

Самый лучший вариант, по идее, SELECT 1 FROM table WHERE id=:id LIMIT 1
Ответить