using for rec inside a function: behavior very slow
От | Jie Liang |
---|---|
Тема | using for rec inside a function: behavior very slow |
Дата | |
Msg-id | Pine.BSF.4.10.10104021504210.82239-100000@tidal.ipinc.com обсуждение исходный текст |
Ответ на | Re: Fwd: Calling functions inside a function: behavior (edipoelder@ig.com.br) |
Ответы |
Re: using for rec inside a function: behavior very slow
|
Список | pgsql-sql |
I have a function: CREATE FUNCTION hasdup(text) RETURNS int4 AS ' declare v_id int4; rat1 text; rat2 text; v_url text; rec record; begin select id into v_id from urlinfo where url = $1; if NOT FOUND then return -1; end if; select codestr(v_id)into rat1; v_url:= $1||''%''; for rec in select id,url from urlinfo where url like v_urlorder by url loop raise notice ''%'',rec.url; select codestr(rec.id) into rat2; if rec.id <> v_id and rat1= rat2 then update urlinfo set list = 1 where id = rec.id; return rec.id; end if; end loop; return 0; end; ' LANGUAGE 'plpgsql'; 'where url like clause' is very slow in inside the function, but when I directly use this statement in SQL, it is very quick, is any quick way to return match: where field like 'something%' inside the plsql function?? Jie LIANG St. Bernard Software 10350 Science Center Drive Suite 100, San Diego, CA 92121 Office:(858)320-4873 jliang@ipinc.com www.stbernard.com www.ipinc.com
В списке pgsql-sql по дате отправления: