SYBASE SQL разъяснение - PullRequest
       22

SYBASE SQL разъяснение

0 голосов
/ 09 октября 2019

У меня 42 миллиона записей в таблице сотрудника с 6 именованным столбцом;empno, empname, empsal, empadd, data и arcid.

Я бы хотел обновить сотрудника таблицы запросом, который выполняется нижеприведенным кодом, пока цикл не закончится. Когда я пытаюсь обновить первые 100 строк, для обновления 100 записей требуется более 1 часа. Индекс для столбца, в котором находится условие.

Может ли кто-нибудь предоставить мне решение, если это возможно, чтобы код выполнял запрос как можно раньше. Спасибо.

declare @rowCountValue int
declare @nbLines int

select @nbLines = 100000

SET ROWCOUNT 100000 
WHILE(1=1) 
BEGIN   
    UPDATE EMPLOYEE SET A_ID='112354'
    where A_ID is null and DATED is null

    select @rowCountValue = @@ROWCOUNT

    IF (@rowCountValue != @nbLines)
    begin 
        BREAK
    end 
END
SET ROWCOUNT 0 
go
...