Normaly我会做一个,delete * from XXX但是在这个表上非常慢,它通常有大约500k到1m的行(如果相关,则一个是varbinary(MAX)).
基本上我想知道是否有一个快速的方法来emty所有内容的表,它的实际更快删除并重新创建它然后通过删除sql语句删除内容
我不想重新创建表的原因是因为它的重用和删除/重新创建我认为会破坏sql server收集的索引和统计信息
我也希望有一种方法可以做到这一点,因为有一种"聪明"的方式来通过sys.sysindexes获取行数,所以我希望有一种同样聪明的方法来删除内容
Dun*_*ers 12
您可以重命名有问题的表,创建一个具有相同模式的表,然后在闲暇时放下原始表.
有关[ RENAME TABLE] [1]和[ CREATE TABLE] [2]命令的信息,请参见MySQL 5.1参考手册.
RENAME TABLE tbl TO tbl_old;
CREATE TABLE tbl LIKE tbl_old;
DROP TABLE tbl_old; -- at your leisure
Run Code Online (Sandbox Code Playgroud)
这种方法可以帮助最大限度地减少应用程