Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вопрос по UPDATE и ROWS / 6 сообщений из 6, страница 1 из 1
19.06.2016, 12:29
    #39258427
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по UPDATE и ROWS
Скажите, а это нормально, что в запросе вида:
Код: sql
1.
2.
3.
4.
5.
6.
UPDATE SOME_TABLE
SET
    FIELD1 = NULL
WHERE
    FIELD1 = 0
ROWS 1 TO 1


FB (2.5) сначала перебирает весь миллиард строк, а потом обновляет одну, а не обновляет первую попавшуюся строку?
...
Рейтинг: 0 / 0
19.06.2016, 12:31
    #39258430
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по UPDATE и ROWS
CyberMax,

FIELD1 индексирован?
...
Рейтинг: 0 / 0
19.06.2016, 14:05
    #39258445
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по UPDATE и ROWS
Симонов Денис,

Индекса нет.
Видимо, FB сначала отбирает записи по условию, и потом уже режет резалтсет по ROWS. Но сдается мне, так не должно быть.
...
Рейтинг: 0 / 0
19.06.2016, 15:35
    #39258464
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по UPDATE и ROWS
CyberMax,

как далеко нулевое значение от начала таблицы? Апдейт прочитает фуллсканом все записи до первого нуля, обновит и сразу завершится. Без индекса других вариантов просто нет.
...
Рейтинг: 0 / 0
19.06.2016, 15:36
    #39258465
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по UPDATE и ROWS
FIRST/ROWS всегда применяются после любой фильтрации/группировки/сортировки
...
Рейтинг: 0 / 0
21.06.2016, 08:47
    #39259318
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по UPDATE и ROWS
dimitr,

Я ошибся в расчетах, где должен быть 0. Ненулевые записи начинались в конце таблицы.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вопрос по UPDATE и ROWS / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]