l--*_*''' 60 mysql sql optimization performance ms-access
什么更快?
DELETE * FROM table_name;
Run Code Online (Sandbox Code Playgroud)
要么
DELETE * FROM table_name where 1=1;
Run Code Online (Sandbox Code Playgroud)
为什么?
并truncate table
在获得工作?
Jay*_*ymz 136
TRUNCATE TABLE table_name
Sar*_*raz 28
这应该更快:
DELETE * FROM table_name;
Run Code Online (Sandbox Code Playgroud)
因为RDBMS不必看where
是什么.
你应该没问题truncate
:
truncate table table_name
Run Code Online (Sandbox Code Playgroud)
Pek*_*ica 10
2004年有一个 mySQL错误报告似乎仍然有一定的效力.似乎在4.x中,这是最快的:
DROP table_name
CREATE TABLE table_name
Run Code Online (Sandbox Code Playgroud)
TRUNCATE table_name
当时在DELETE FROM
内部,没有任何性能提升.
这似乎已经改变了,但仅限于5.0.3及更年轻.从错误报告:
[2005年1月11日16:10]MarkoMäkelä
我现在已经实现了快速TRUNCATE TABLE,它有望包含在MySQL 5.0.3中.
这会删除表格table_name
.
将其替换为表的名称,该表将被删除.
DELETE FROM table_name;
Run Code Online (Sandbox Code Playgroud)