Gracias de antemano
Jesús Lozano
Ahora si este no es tu caso, me parece mucho mas optimo el Truncate.
Salu2
--
Maximiliano Damian Accotto
"Jesús Lozano" <jlo...@isotrol.com> escribió en el mensaje
news:%23k8zVFU...@TK2MSFTNGP11.phx.gbl...
TRUNCATE TABLE es mas rapido, significativamente mas rapido ya que
simplemente marca las paginas de datos e indices de la base de datos
pertenecientes a la tabla como libres y solo deja en el log de transacciones
la referencia de las paginas que fueron liberadas. TRUNCATE TABLE no dispara
triggers por operaciones de DELETE con lo cual a veces este comportamiento
es deseado y otras no. No puedes ejecutar TRUNCATE TABLE si hay alguna
relacion de Foreign key en la tabla, con lo cual primero tendrias que
dropear todas las relaciones para luego ejecutar el TRUNCATE.
El cambio un DELETE va logeando cada fila eliminada en el log de
transacciones y disparando cada trigger de delete asociado a la misma al
mismo tiempo que va actualizando todos los indices relacionados a la tabla.
Si hay 1.000.000 en la tabla todas estas filas iran a parar a log de
transacciones.
Saludos
Adrian D. Garcia
NDSoft
pero hayq ue tener en cuenta que:
"Jesús Lozano" <jlo...@isotrol.com> wrote in message
news:%23k8zVFU...@TK2MSFTNGP11.phx.gbl...
--
Saludos
Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores
"Adrian Garcia" <adriandan...@hotmail.com> escribió en el mensaje
news:#4e$BmU1DH...@tk2msftngp13.phx.gbl...
001 LOP_BEGIN_XACT LCX_NULL
002 LOP_MODIFY_ROW LCX_IAM
003 LOP_MODIFY_ROW LCX_PFS
004 LOP_MODIFY_ROW LCX_PFS
005 LOP_MODIFY_COLUMNS LCX_CLUSTERED
006 LOP_MODIFY_ROW LCX_CLUSTERED
007 LOP_MODIFY_ROW LCX_CLUSTERED
008 LOP_MODIFY_ROW LCX_CLUSTERED
009 LOP_MODIFY_ROW LCX_CLUSTERED
00a LOP_MODIFY_ROW LCX_CLUSTERED
00b LOP_MODIFY_ROW LCX_CLUSTERED
00c LOP_MARK_DDL LCX_NULL
00d LOP_DELTA_SYSIND LCX_CLUSTERED
00e LOP_COMMIT_XACT LCX_NULL
mientras que con el DROP :
001 LOP_BEGIN_XACT LCX_NULL
002 LOP_DELETE_ROWS LCX_MARK_AS_GHOST
003 LOP_MODIFY_HEADER LCX_PFS
004 LOP_SET_BITS LCX_PFS
005 LOP_DELETE_ROWS LCX_MARK_AS_GHOST
006 LOP_SET_BITS LCX_PFS
007 LOP_DELETE_ROWS LCX_MARK_AS_GHOST
008 LOP_DELETE_ROWS LCX_MARK_AS_GHOST
009 LOP_MODIFY_ROW LCX_IAM
00a LOP_MODIFY_ROW LCX_PFS
00b LOP_MODIFY_ROW LCX_PFS
00c LOP_DELETE_ROWS LCX_MARK_AS_GHOST
00d LOP_SET_BITS LCX_PFS
00e LOP_MARK_DDL LCX_NULL
00f LOP_DELETE_ROWS LCX_MARK_AS_GHOST
010 LOP_SET_BITS LCX_PFS
011 LOP_DELETE_ROWS LCX_MARK_AS_GHOST
012 LOP_SET_BITS LCX_PFS
013 LOP_DELETE_ROWS LCX_MARK_AS_GHOST
014 LOP_SET_BITS LCX_PFS
015 LOP_BEGIN_XACT LCX_NULL
016 LOP_DELTA_SYSIND LCX_CLUSTERED
017 LOP_COMMIT_XACT LCX_NULL
001 LOP_DELTA_SYSIND LCX_CLUSTERED
002 LOP_BEGIN_XACT LCX_NULL
003 LOP_DELTA_SYSIND LCX_CLUSTERED
004 LOP_COMMIT_XACT LCX_NULL
001 LOP_COMMIT_XACT LCX_NULL
Saludos,
Ulises
>-----Mensaje original-----
--
=================
Miguel Egea
http://www.portalsql.com
Microsoft SQL-SERVER MVP.
Brigada Anti-Cursores
Aviso de Seguridad
http://www.microsoft.com/spain/technet/seguridad/boletines/MS03-039-USER.asp
==================
"Miguel Egea" <migue...@online.telefonica.net> escribió en el mensaje
news:ugPYuyU1...@TK2MSFTNGP12.phx.gbl...
Saludos
Adrian D. Garcia
NDSoft
"Miguel Egea" <migue...@online.telefonica.net> wrote in message
news:OlDyl6W1...@TK2MSFTNGP10.phx.gbl...
aunque no me aclara si Truncate es más rapido que hacer un Drop/create,
aunque supongo que por el hecho de usar dos instrucciones en vez de una y el
mayor número de operaciones que implica, el Truncate será más rápido
Gracias a todos
Jesús Lozano
--
Saludos
Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores
"Jesús Lozano" <jlo...@isotrol.com> escribió en el mensaje
news:#aSgYsd1...@TK2MSFTNGP11.phx.gbl...
Jesús