¿qué es más rápido?borrar todo de la tabla
DELETE * FROM table_name;
o
DELETE * FROM table_name where 1=1;
por qué?
¿truncate table
trabajo en el acceso?
¿qué es más rápido?borrar todo de la tabla
DELETE * FROM table_name;
o
DELETE * FROM table_name where 1=1;
por qué?
¿truncate table
trabajo en el acceso?
Esto debería ser más rápido:
DELETE * FROM table_name;
porque RDBMS no tienen que mirar es lo where
.
que debe estar bien con truncate
sin embargo:
truncate table table_name
trunca el trabajo de tabla en el acceso? –
No, no es compatible con Access. – Jaymz
Jet trata DELETE * FROM Table como un truncado, en lugar de eliminar los registros uno por uno. Sin embargo, no creo que restablezca el valor de la semilla Autonumber. Eso tiene que hacerse en código o con un compacto (ni siquiera seguro de que se restablecerá con un compacto en las iteraciones recientes de Jet/ACE). –
Hay una mySQL bug report de 2004 que todavía parece tener cierta validez. Parece que en 4.x, este fue el más rápido:
DROP table_name
CREATE TABLE table_name
TRUNCATE table_name
DELETE FROM
era internamente en ese entonces, proporcionar ninguna mejora del rendimiento.
Esto parece haber cambiado, pero solo en 5.0.3 y menos. Desde el informe de error:
[11 Ene de 2005 16:10] Marko Mäkelä
ahora he implementado TRUNCATE TABLE rápido, lo cual se espera que sea incluido en MySQL 5.0.3.
¡Este es un buen descubrimiento! – Shyam
Esto borra la tabla table_name
.
Reemplácelo con el nombre de la tabla, que se eliminará.
DELETE FROM table_name;
También puede utilizar truncado.
truncate table table_name;
¿Para qué base de datos? ¿Para qué mesa? ¿Para qué tamaño de datos? –
¿Qué descubrió cuando midió el tiempo empleado por ambos? –
mysql y acceso –