请问SQL2000,清空一个三千万行的表,需要多少时间?

来源:百度知道 编辑:UC知道 时间:2024/09/21 10:51:52
如题

同楼上,补充一点

1. DELETE FROM 表
不能说是简单,反而向对于truncate来说要复杂多了
首先,要把表里所有数据删除到一个默认的数据库deleted中(用于rollback)
然后,等事务提交之后,还要写log(用于recover)
这样,保证可以把误删的数据给找回来。
所以,速度很慢

2. TRUNCATE TABLE 表
速度快,快的原因与delete正好相反,不做任何备份,直接删除(相当于系统的shift+del)。

delete tablename 最少要用一、两个小时。
TRUNCATE TABLE TABLENAME 用时不足一秒。
==========

可能根据服务器配置不同会有很大差别,但数量级不会差,一个是几小时,一个是几秒.

这个比较难说,分如下两个点来看:
一、数据服务器是远程的,如果速度比较快的话速度每秒可操作数据上万条
如果数据库服务器的MS比较高那就难说了,要根据具本的情况来定了
二、如果是本地服务器,那么只需要半个小时左右就可以搞定
这些数据没有做过具体的测试,只是根据自己个人在做数据库的时候的一些经验。你自己参考一下吧。

两个办法,使用查询分析器(不要使用企业管理器,否则速度慢死)

1. DELETE FROM 表
这是最简单的,但是速度慢

2. TRUNCATE TABLE 表
速度超快,即使是远程速度也非常理想

我清过3万多行的,大概要2、3分钟,你自己算算吧!还不如删了表从新建呢!

truncate应该很快,delete那就需要时间了,时间是要看你的系统如何了。