eliminar todo de la tabla

¿qué es más rápido?

DELETE * FROM table_name; 

o

 DELETE * FROM table_name where 1=1; 

¿por qué?

truncate table trabajo en el acceso?

TRUNCATE TABLE table_name

Esto debería ser más rápido:

 DELETE * FROM table_name; 

porque los RDBMS no tienen que mirar where está qué.

Sin embargo, deberías estar bien con truncate :

 truncate table table_name 

Hay un informe de errores mySQL desde 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 fue DELETE FROM internamente en ese momento, sin proporcionar ganancia de performance.

Esto parece haber cambiado, pero solo en 5.0.3 y less. Del informe de error:

[11 de enero 2005 16:10] Marko Mäkelä

Ahora implementé TRUNCATE TABLE rápido, que con suerte se includeá en MySQL 5.0.3.

Esto borra la tabla table_name .

Reemplácelo con el nombre de la tabla, que se eliminará.

 DELETE FROM table_name; 

También puedes usar truncar.

 truncate table table_name;