terça-feira, 15 de outubro de 2002

Aumento de performance na inserção de dados

O método Execute do objeto Connection, presente no ADO, tem três argumentos: CommandText, RecordsAffected e Options. O primeiro argumento, como todos certamente já sabem, é a string contendo a instrução SQL a ser executada (ou um nome de tabela - no caso, o método irá gerar o SELECT * FROM NOME_TABELA automaticamente). O segundo argumento é uma variável que receberá o número de registros afetados pela operação. O terceiro argumento, define o modo como a instrução SQL deverá ser interpretada.


O valor 128 (0x80), que é representado pela constante adExecuteNoRecords, indica que a operação não retornará nenhum registro (ou seja, é uma operação de inserção por exemplo). Segundo a referência do ADO, definir este parâmetro pode aumentar a performance. Veja um exemplo abaixo (em JScript):


sqlSTRING = "INSERT INTO TABELA(CAMPO) VALUES(VALOR)";
objConn.Execute(sqlSTRING, null, 128);


Agradeço ao amigo Thiago Machado por ter me mostrado essa possibilidade, para que eu posteriormente pudesse pesquisar o recurso com mais profundidade. Foi o que fiz! :)



Esta matéria foi postada originalmente no ASP4Developers por Jonas Galvez (site), que na época era "Consultor e desenvolvedor especializado em tecnologias Macromedia. Já publicou um livro sobre Flash 5 (http://www.editoraerica.com.br) e atualmente está finalizando novas obras. Ele também dedica-se à projetos e consultorias em seu tempo livre. Também é programador em ASP/.NET e cria experimentos sempre que pode, buscando compartilhar informações com a comunidade.". Hoje, vai saber...

1 comentários:

Thiago Machado Souza disse...

[Enviado originalmente em 15/abr/2003 09:57:22]:

Essa instrução deve ser usada desta forma.

objConn.execute(sqlSTRING), null, 128)

Para ASP
e não da forma descrita acima, obrigado.

Thiago Machado