tabla existe drop create borrar sql-server tsql truncate

sql server - existe - Truncar o soltar y crear tabla



drop table sql server (4)

La eliminación de la tabla destruirá los objetos asociados (índices, activadores) y puede invalidar los procedimientos o las vistas. Me quedaría con Truncate, ya que no hará explotar tu registro y no causará ninguno de los posibles problemas que una gota y crear crea.

Tengo esta tabla en una instancia de SQL Server 2008 R2 que tengo un proceso programado que se ejecuta todas las noches contra ella. La tabla puede tener hasta 500 K registros en ella en cualquier momento. Después de procesar esta tabla, necesito eliminar todas las filas de la misma, así que me pregunto cuál de los siguientes métodos produciría la menor sobrecarga (es decir, las entradas del Registro de transacciones excesivas):

  1. Mesa truncada
  2. Suelta y vuelve a crear la tabla.

La eliminación del contenido de la tabla está fuera debido al tiempo y las entradas adicionales del registro de Transacciones que realiza.

El consenso parece ser Truncamiento, ¡Gracias a todos!


Truncar la tabla no deja entradas fila a fila en el registro de transacciones, por lo que ninguna de las soluciones saturará demasiado sus registros. Si fuera yo, truncaría tener que soltar y crear cada vez.


Yo iría por TRUNCATE TABLE. Es posible que pueda tener gastos generales cuando se eliminan los índices, los desencadenadores, etc. Además, perderá los permisos que también tendrá que volver a crear junto con cualquier otro objeto requerido para esa tabla.

También en DROP TABLE en MDSN a continuación, se menciona un poco más si ejecutas DROP y CREATE TABLE en el mismo lote.

DROP TABLE y CREATE TABLE no deben ejecutarse en la misma tabla en el mismo lote. De lo contrario puede ocurrir un error inesperado.


TRUNCATE TABLE es tu mejor apuesta. Desde MSDN :

Elimina todas las filas de una tabla sin registrar la eliminación de filas individuales.

Así que eso significa que no va a inflar su registro de transacciones. Eliminar y crear la tabla no solo requiere SQL más complejo, sino también permisos adicionales. Cualquier configuración adjunta a la tabla (desencadenantes, GRANT o DENY , etc.) también deberá reconstruirse.