SQL 7.0 "кушает" весь проц ... после вот такого запроса ..

Jcomp
Дата: 18.12.2002 13:34:11
Вобщем есть ХП которая выбирает 1 пользователей случайным образом.
Есть Вторая ХП которая выбирает 2 пользователей с помощью первой ХП.
Но смотрит не ту ли тех пользователей в blacklist. Вобщем вот текст второй ХП:

CREATE PROCEDURE comp_tryWiners
@id_part decimal = NULL

AS
declare @win1 decimal
declare @win2 decimal

exec @win1 = comp_doWiners @id_part
exec @win2 = comp_doWiners @id_part

declare @blackuser decimal

select @blackuser = id_user from blacklist where id_user=@win1
while (@win1=@blackuser)
begin
exec @win1 = comp_doWiners @id_part
select @blackuser = id_user from blacklist where id_user=@win1
end

set @blackuser = (select id_user from blacklist where id_user=@win2)
while (@win2=@blackuser)
begin
exec @win2 = comp_doWiners @id_part
set @blackuser = (select id_user from blacklist where id_user=@win2)
end

while @win1=@win2
begin
exec @win2 = comp_doWiners @id_part
set @blackuser = (select id_user from blacklist where id_user=@win2)
while (@win2=@blackuser)
begin
exec @win2 = comp_doWiners @id_part
set @blackuser = (select id_user from blacklist where id_user=@win2)
end
end

select * from Users c where c.id=@win2 or c.id=@win1
GO


Во первых непонятно почему она выполняеться секунд 10 ... после этого сервак начинает использовать время проца на все 100%. Что делать ?? Что я уже напартачил ???
Jcomp
Дата: 18.12.2002 13:49:07
Все снимем вопрос ... в первой ХП ... временная таблица создаеться и не удаляеться ... исправил все ок ... но все же интересно почему тогда .. он сутки тряс сервак ??