Optimizar

26/08/2003 - 00:10 por jiordie | Informe spam
hay alguna forma de que los delete, insert o update, o
alguno de estos anteriores, se ejecuten más rápido?

me refiero a que por ejemplo no dejen registro en el log
de transacciones (obviamente que no necesito que me dejen
registro ahi algunas de estas operaciones en algunos
casos), por ejemplo si yo voy a eliminar todos los
registros de una tabla en vez de usar delete utilizo
truncate table.

Me interesa si esta forma se puede utilizar mas que todo
para los updates.

muchas gracias
 

Leer las respuestas

#1 Gustavo Larriera [MVP]
26/08/2003 - 01:41 | Informe spam
Los comandos como UPDATE son logueados, por tanto siempre se registran en el
log de transacciones (y es fundamental que sea asi para garantizar
consistencia transaccional).

Si deseas insertar registros en forma no logeada, puedes usar herramientas
de carga masiva de datos como el Bulk Insert o el utilitario BCP. Pero estos
se reservan para escenarios donde se hace carga de datos que --en caso de un
problema-- sea anulada manualmente.

Todo sistema de bases de datos "serio" usa alguna técnica para llevar una
bitácora de transacciones, esto incluye al SQL Server.

Cuando un UPDATE demora mucho tiempo normalmente hay que revisar la lógica
de la aplicación, buscando que no se hayan establecido "transacciones
largas" o que no haya problemas de bloqueo de registros.

Un comando UPDATE suele ser muy rápido debido justamente a que primero SQL
escribe en el log de transacciones y difiere en el tiempo la bajada a disco
de los datos modificados.

Saludos
Gustavo Larriera, MSFT MVP-SQL
Uruguay LatAm

This message is provided "AS IS" with no warranties expressed or implied,
and confers no rights.


"jiordie" wrote in message
news:0da601c36b55$b70c3a90$
hay alguna forma de que los delete, insert o update, o
alguno de estos anteriores, se ejecuten más rápido?

me refiero a que por ejemplo no dejen registro en el log
de transacciones (obviamente que no necesito que me dejen
registro ahi algunas de estas operaciones en algunos
casos), por ejemplo si yo voy a eliminar todos los
registros de una tabla en vez de usar delete utilizo
truncate table.

Me interesa si esta forma se puede utilizar mas que todo
para los updates.

muchas gracias

Preguntas similares