Страница 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).