Страница 1 из 1

Bounds или Condition, будет ли разница?

Добавлено: 09 фев 2007, 10:09
Alexander
Пусть Имеем View

Код: Выделить всё

view test
select * from sometable where((...))
Bounds b1
   1 == somefield (noindex)
Condition c1
   somefield = 1
;
Какими будут ли различия в работе и скорости View??

Добавлено: 09 фев 2007, 10:35
edward_K
а попробовать самому слабо? И поделится с народом?
в теории никаких. Разнцица будет в том, что по condition накладывается условие аналогичное жесткой подцепке и действует оно на все таблицы во view. Из-за этого bounds мне больше нравиться.

Добавлено: 09 фев 2007, 12:35
Alexander
Однако у меня была ситуация

Код: Выделить всё

view test 
select * from sometable where((
   ...
   and 1 == somefield (noindex) 
   ...
)) 
;
заменил на

Код: Выделить всё

view test 
select * from sometable where((
   ...
)) and = somefield = 1
;
Результат: Во Втором варианте запрос отрабатывал раза в полтора быстрее. Хотя, были и другие задачи, где скорость заметно не изменялась(или вообще не менялась, не мерял, а на вскидку не видно). Поэтому и возник вопрос.... скорее всего, как вы сказали, из-за того, что подцепки сменились на жесткие, поэтому и скорость выше....

Добавлено: 20 фев 2007, 01:21
Screw
Очень странный результат.
Разница принципиальная: bounds по возможности обрабатываются сервером БД, condition - клиентом. Использование bounds уменьшает объём данных, пересылаемых сервером клиенту (по сравнению с аналогичным condition).