[firebase-br] Tempo diminuindo...

Adriano Ferreira aerreira68 em gmail.com
Sex Ago 7 01:04:45 -03 2009


Rapaz, pelo que entendi, vc está comparando cada registro de sua tabela com todos os demais registros existentes e repete isso zilhões de vezes. Isso é um completo absurdo em qualquer sistema.  

Basta colocar uma chave primária única na sua tabela, o que garantirá que não existem chaves duplicadas, então esse seu teste se torna inútil.  

Se sua tabela já contém dados, então crie uma chave primaria nela que surgirão "key violation" em todos os que estiverem duplicados.

_
Adriano Ferreira

----- Original Message ----- 

  From: //---- Kelsie.Z.Marshall ----// 
  To: lista em firebase.com.br 
  Sent: Friday, August 07, 2009 12:33 AM
  Subject: Re: [firebase-br] Tempo diminuindo...


  Consegui alguma coisa


  COMMIT WORK;
  SET AUTODDL OFF;
  SET TERM ^ ;

  /* Stored procedures */

  CREATE PROCEDURE "TEST_ID"
  (
    "IN_IDENT" VARCHAR(20),
    "IN2" VARCHAR(20)
  )
  RETURNS
  (
    "RET" SMALLINT
  )
  AS
  BEGIN EXIT; END ^


  ALTER PROCEDURE "TEST_ID"
  (
    "IN_IDENT" VARCHAR(20),
    "IN2" VARCHAR(20)
  )
  RETURNS
  (
    "RET" SMALLINT
  )
  AS
  BEGIN
    RET = -1;
    FOR SELECT IDENT FROM BIG_TABLE INTO :IN_IDENT DO
    BEGIN
    IF ( IN_IDENT = IN2 ) THEN
      RET = 1;
    ELSE
      RET = 0;
    SUSPEND;
    END
  END
   ^

  SET TERM ; ^
  COMMIT WORK;
  SET AUTODDL ON;




Mais detalhes sobre a lista de discussão lista