¿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;