2-а sql запроса к БД.

badmint

Вопрос знатокам БД и sql.
Представим есть некая огрооомная БД с бооольшой кучей таблиц...
К БД делает запрос вида select (наборр каких-то полей из разных таблиц) с одним параметром поиска по одному полю.
Теперь представим, что делается такой же запрос, но в selecte указывается 2-а параметра с условием "или" по тому же полю.
Может ли второй запрос выполняться в 30 раз медленнее?

Marinavo_0507

describe сделай

badmint

не могу, у меня вообще нет доступа к базе.
Интересуюсь как пользователь системы, у которой есть пользовательский интерфейс, где можно просто перечислить параметры поиска и связать их лог. операторами. Система сама потом формирует запрос и выдает результат.

PooH

может
а может и нет
короче, слишком общая постановка задачи
есть у тебя индексы, тип поля какой, тип бд и т.д.
PS часто еще много времени на fetch уходит, хотя сам запрос может быстро исполниться

0000

Может отвалится из-за того, что индекс перестал использоваться.
P.S. Мог бы и у брата спросить :D

apl13

2-а
Правильно писать "2-д-два".

test100500

Может ли второй запрос выполняться в 30 раз медленнее?
может, если выдача становитса в 30 раз больше, а канал тонкий. ;)

badmint

выдача становиться максимум в 2 раза больше.
Порядок 10 000 строк
Во втором варианте 20 000
Канал жииирный.

Marinavo_0507

а общение с DBA тоже запрещено?
ну мало ли
может, хитрая прога, если видит более одного варианта, вставляет что-то в запрос
делая его низкоприоритетным скажем, или отключая индекс

0000

Отвесь пенделя админу. Пусть смотрят план запроса в первом и втором случаях и втыкают, почему запрос дольше выполняется.

Boris1980

А по отдельности запросы быстро работают с каждым из условий?
Напиши Union или Union All.

badmint

по отдельности запросы работают не больше минуты
вместе от 30...
Всем спасибо, код запросов запросил, посмотрел, понял что разработчики не парились при написании кода...
Тема закрыта.
Оставить комментарий
Имя или ник:
Комментарий: