удалите все из таблицы

что быстрее?

DELETE * FROM table_name;

или

DELETE * FROM table_name where 1=1;

почему?

делает truncate table работа в доступе?

60
задан Tony Toews 24 June 2010 в 03:35
поделиться

3 ответа

TRUNCATE TABLE table_name

136
ответ дан 24 November 2019 в 17:31
поделиться

Это должно быть быстрее:

DELETE * FROM table_name;

, потому что СУБД не нужно искать , где - это что.

Вы должны быть в порядке с truncate , хотя:

truncate table table_name
28
ответ дан 24 November 2019 в 17:31
поделиться

Есть отчет об ошибке mySQL от 2004 года, в котором, кажется, все еще есть срок действия. Похоже, что в 4.x это было быстрее всего:

DROP table_name
CREATE TABLE table_name

TRUNCATE имя_таблицы было тогда УДАЛИТЬ ИЗ внутренне, не давая прироста производительности.

Похоже, что это изменилось, но только в версии 5.0.3 и младше. Из отчета об ошибке:

[11 января 2005 16:10] Марко Мякеля

Я реализовал быструю TRUNCATE TABLE, которая, надеюсь, будет включена в MySQL 5.0.3.

10
ответ дан 24 November 2019 в 17:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: