
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.03.2004, 12:28
|
|||
|---|---|---|---|
Длинный AND |
|||
|
#18+
Стоит FB1.5Release + IBExpert В настройках по умолчанию установлен короткий AND #CompleteBooleanEvaluation = 0 Есть запрос SELECT Id FROM Goods WHERE (RDB$Modified = 1) AND (Gen_ID(GEN,1)>0) Устанавливаю значения генератора в 0 после выполнения запроса GEN установился в 22000, те выполняась проверка обеих частей. Создаю индекс на поле RDB$Modified, снова выполняю запрос (генератор устанавливаю в 0), и после выполнения получаю значение генератора 122 Скажите мне что нибудь по этому поводу:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 12:37
|
|||
|---|---|---|---|
Длинный AND |
|||
|
#18+
Я бы сказал, что в указанной таблице 22000 записей, из них со значением указанного поля, равным 1, - 122. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 12:40
|
|||
|---|---|---|---|
Длинный AND |
|||
|
#18+
А объяснить ты можешь почему в первом случае 22000, ведь AND должен игнорировать приращение генератора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 13:22
|
|||
|---|---|---|---|
Длинный AND |
|||
|
#18+
Тебе кто-нибудь обещал, что короткий AND вычисляется слева направо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 15:47
|
|||
|---|---|---|---|
Длинный AND |
|||
|
#18+
Вот блин, поменял местами условие и все заработало как надо:) теперь придется во всех запросаж ж.....у на голову менять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 15:56
|
|||
|---|---|---|---|
Длинный AND |
|||
|
#18+
остается вопрос, как правильно ставить условия. Выбрать строки у которых если :paramId=0 то выбрать все иначе :ParamId=ParamId SELECT * FROM t1 WHERE (:ParamId = 0) OR (:ParamId = ParamId) SELECT * FROM t1 WHERE (:ParamId = 0) OR ((:ParamId <> 0) AND (:ParamId = ParamId)) SELECT * FROM t1 WHERE (:ParamId = ParamId) OR (:ParamId = 0) ............................................ А что что-то я немного уже запутался, или лучше дайте ссылку на какую-нибудь доку по этому поводу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 16:20
|
|||
|---|---|---|---|
Длинный AND |
|||
|
#18+
автортеперь придется во всех запросаж ж.....у на голову менять И завтра это перестанет работать. Ибо порядок вычисления предикатов выбирает сервер. Это часть процесса оптимизации запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2004, 17:06
|
|||
|---|---|---|---|
Длинный AND |
|||
|
#18+
пока второе и используется, но раздражает ((:ParamId <> 0) это тоже самое (но не для IB) что begin if (i=0) then //////////// else if(i<>0) then ///////////////// end ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=40&mobile=1&tid=1578966]: |
0ms |
get settings: |
4ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
158ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 447ms |

| 0 / 0 |
