Запрос к базе - выбрать правильный

Статус
Закрыто для дальнейших ответов.

FiRеFоX

V.I.P.
Регистрация
07.08.2010
Сообщения
744
Как будет правильнее и быстрее? Результат запросов один и тот же.
Вариант 1:

SELECT [параметры] FROM `table` WHERE (`id_login1` = $user_id OR `id_login2` = $user_id) AND `read` = 1
Вариант 2:
Код:
SELECT [параметры] FROM `table` WHERE (`id_login1` = $user_id AND `read` = 1) OR (`id_login2` = $user_id AND `read` = 1)
 

AngelGabriel

И имя мне - легион
Регистрация
23.11.2008
Сообщения
778
Лучший sql запрос - это запрос, который не исполняется (с)

А если по теме. То могу предположить. Второй запрос, условие после ИЛИ не будет проверяться, если левый операнд вернет правду, хотя это до попы, в каждом запросе будет всегда минимум две проверки.
 

FiRеFоX

V.I.P.
Регистрация
07.08.2010
Сообщения
744
Сделал два индекса:
1. id_login1 + read
2. id_login2 + read

При втором запросе сработали оба индекса. Как сделать для первого запроса правильные индексы - хз.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ