请问SQL2000,清空一个三千万行的表,需要多少时间?
答案:6 悬赏:10 手机版
解决时间 2021-03-21 10:54
- 提问者网友:活着好累
- 2021-03-20 10:38
请问SQL2000,清空一个三千万行的表,需要多少时间?
最佳答案
- 五星知识达人网友:平生事
- 2021-03-20 10:51
同楼上,补充一点
1. DELETe FROM 表
不能说是简单,反而向对于truncate来说要复杂多了
首先,要把表里所有数据删除到一个默认的数据库deleted中(用于rollback)
然后,等事务提交之后,还要写log(用于recover)
这样,保证可以把误删的数据给找回来。
所以,速度很慢
2. TRUNCATE TABLE 表
速度快,快的原因与delete正好相反,不做任何备份,直接删除(相当于系统的shift+del)。
1. DELETe FROM 表
不能说是简单,反而向对于truncate来说要复杂多了
首先,要把表里所有数据删除到一个默认的数据库deleted中(用于rollback)
然后,等事务提交之后,还要写log(用于recover)
这样,保证可以把误删的数据给找回来。
所以,速度很慢
2. TRUNCATE TABLE 表
速度快,快的原因与delete正好相反,不做任何备份,直接删除(相当于系统的shift+del)。
全部回答
- 1楼网友:时间的尘埃
- 2021-03-20 14:35
truncate应该很快,delete那就需要时间了,时间是要看你的系统如何了。
- 2楼网友:千夜
- 2021-03-20 14:10
我清过3万多行的,大概要2、3分钟,你自己算算吧!还不如删了表从新建呢!
- 3楼网友:躲不过心动
- 2021-03-20 13:43
两个办法,使用查询分析器(不要使用企业管理器,否则速度慢死)
1. DELETE FROM 表
这是最简单的,但是速度慢
2. TRUNCATE TABLE 表
速度超快,即使是远程速度也非常理想
1. DELETE FROM 表
这是最简单的,但是速度慢
2. TRUNCATE TABLE 表
速度超快,即使是远程速度也非常理想
- 4楼网友:荒野風
- 2021-03-20 12:13
这个比较难说,分如下两个点来看:
一、数据服务器是远程的,如果速度比较快的话速度每秒可操作数据上万条
如果数据库服务器的MS比较高那就难说了,要根据具本的情况来定了
二、如果是本地服务器,那么只需要半个小时左右就可以搞定
这些数据没有做过具体的测试,只是根据自己个人在做数据库的时候的一些经验。你自己参考一下吧。
一、数据服务器是远程的,如果速度比较快的话速度每秒可操作数据上万条
如果数据库服务器的MS比较高那就难说了,要根据具本的情况来定了
二、如果是本地服务器,那么只需要半个小时左右就可以搞定
这些数据没有做过具体的测试,只是根据自己个人在做数据库的时候的一些经验。你自己参考一下吧。
- 5楼网友:鱼忧
- 2021-03-20 11:17
delete tablename 最少要用一、两个小时。
TRUNCATE TABLE TABLENAME 用时不足一秒。
==========
可能根据服务器配置不同会有很大差别,但数量级不会差,一个是几小时,一个是几秒.
TRUNCATE TABLE TABLENAME 用时不足一秒。
==========
可能根据服务器配置不同会有很大差别,但数量级不会差,一个是几小时,一个是几秒.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯