Как же все таки правильнее будет? (DB2)

SQL во всех проявлениях - от ANSI-92 до TSQL.

Модераторы: Yurich, Absurd

Ответить
Chester
Сообщения: 60
Зарегистрирован: 06 дек 2004, 10:46
Откуда: Kyiv, Ukraine
Контактная информация:

Добрый день, Господа!
Намедни назрел вопрос:
Имеется некая таблица, скажем BILL, ну и в ней некие столбцы ID, TYPE. Имеем 2 простых запроса:

1.

SELECT ID
FROM BILL
WHERE TYPE IN (0,1)

2.
SELECT ID
FROM BILL
WHERE (TYPE = 0 OR TYPE = 1)

(все очень утрировано)
Так вот, собс-но вопрос: какой из этих запросов более "политкорректен" ну и какой собсно предпочтительнее использовать :?:
Заранее благодарен.
... She gave me something, it was a mushroom...
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Если без учёта утрирования, то оба приведённых запросов должны иметь одинаковый план.
Если учитывать утрирование, то нужно сравнивать два плана запросов. DB2 серъёзная БД и в ней должна присутствовать опция просмотра плана запроса (query plan). Правда называться он может как-то по-другому.
Даже самый дурацкий замысел можно воплотить мастерски
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

есть ощущение (может ошибочное) что IN не будет использовать индексы
Изображение
Ответить