
Новые сообщения [новые: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&tablet=1&tid=1578966]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
152ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 450ms |

| 0 / 0 |
