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

如题

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

可能根据服务器配置不同会有很大差别,但数量级不会差,一个是几小时,一个是几秒.
第3个回答  2008-09-12
我清过3万多行的,大概要2、3分钟,你自己算算吧!还不如删了表从新建呢!
第4个回答  2008-09-12
同楼上,补充一点

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

2. TRUNCATE TABLE 表
速度快,快的原因与delete正好相反,不做任何备份,直接删除(相当于系统的shift+del)。本回答被提问者采纳
第5个回答  2008-09-24
1、把需要保留的数据根据条件导出到临时表

2、TRUNCATE

3、重建表,从导入临时表数据

即便是需要导入的数据多于需删除的数据,上面方法的效率也高得多。
除非有几十亿条,呵呵,那也太BT了
相似回答