2009/7/27 Márcio Almeida Bernardino <[email protected]>

>
> Este é o trecho que fica lento:
>
>   WHILE v_count < arg_bilhetes_a_gerar LOOP
>
>        v_count_bilhetes_gerados := v_count_bilhetes_gerados + 1;
>
>        v_array_numeros_aposta :=
> fn_gera_num_rand_bilhete(v_jogo_total_numeros_aposta,v_jogo_numero_range_inicial,
> v_jogo_numero_range_final, v_sequence_extracao, v_id_primeira_serie,
> v_id_primeiro_sorteio);
>
>        RAISE NOTICE 'NUMEROS GERADOS --> %', v_array_numeros_aposta;
>
>        FOR v_record_sorteio IN select * from tb_extracoes_sorteios order by
> id limit v_jogo_total_sorteios LOOP
>            FOR v_record_serie IN select * from tb_extracoes_series order by
> id limit v_jogo_total_series  LOOP
>

Você precisa mesmo fazer esses laços aninhados?? Não tem como fazer uma JOIN
dessas duas tabelas apenas com os registros que você quer trabalhar?

Eu contei uns 4 laços aninhados. Acho que você deve rever essa sua lógica.
Imagino que vai ficando mais lento por que você está fazendo tudo dentro de
uma única transação.

Roberto
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a