Truncate Table 与 Drop Table 有办法提高速度吗?

水金闪亮 2020-09-20 10:43:32
一个记录像素的数据库在长期使用后,分积累了很多时段的表
比如 XS20200920_08_09 这样的表。意思是某日的 8点到9点的数据。每天有24个表,每个表数据行数有几十万行至百万行。
十天就要把这些表删除掉,十天就会有240个这样的表,现在我这样写
Truncate Table XS20200920_08_09
Drop Table XS20200920_08_09
.
.
.

我先清了表,再删除表。但是这样的速度很慢。请问大神们有没有更快速的写法?
...全文
844 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hgwyl 2020-10-27
  • 打赏
  • 举报
回复
删表需要什么高手…… 循环删除就是了
快乐起航2020 2020-10-26
  • 打赏
  • 举报
回复
两个的效果不一样,没有可比性
水金闪亮 2020-10-25
  • 打赏
  • 举报
回复
还有没有高手中的高手,高高手,帮帮我忙,一直在找更快的批量删除表的方法。
水金闪亮 2020-10-25
  • 打赏
  • 举报
回复
引用 1 楼 砸死牛顿的苹果 的回复:
你都要drop table了 还要truncate做什么
引用 6 楼 好记忆不如烂笔头abc 的回复:
直接drop啊,加tuncate就是画蛇添足了
那个Table 是有许多数据的。如果直接 drop table ,是非常慢的,如果delete table ,也是非常慢的,因为这些都要日志记录的。 而 Truncate table 是不记入日志的,是非常快的。 但是我还想要更新的方法,就没有人知道其它方法更快吗?
wwfxgm 2020-10-06
  • 打赏
  • 举报
回复
引用 5 楼 中国风 的回复:
没有可比性 清空数据,保留表结构truncate table 删除表drop table
天天学习一点。
xiaoxiangqing 2020-09-29
  • 打赏
  • 举报
回复
truncate table是最快的,只保留表结构
szlixiaolong 2020-09-28
  • 打赏
  • 举报
回复
drop table 应该是个比较快的操作
  • 打赏
  • 举报
回复
直接drop啊,加tuncate就是画蛇添足了
xiaoxiangqing 2020-09-21
  • 打赏
  • 举报
回复
表都不要了,就直接用drop table就行了
吉普赛的歌 版主 2020-09-21
  • 打赏
  • 举报
回复
truncate table 相当于: drop table + create table 所以, 只 drop table 就好了. drop table 应该是个比较快的操作, 再不行可能要换硬件来了。
雨夹雪 2020-09-21
  • 打赏
  • 举报
回复

--按表创建时间,找到8天以前的XS开头的表,然后drop
DECLARE @whereand VARCHAR(500)=' and o.name in(SELECT name  FROM sys.objects WHERE type=''U'' and name like ''XS%'' AND create_date<DATEADD(DAY,-7,CONVERT(DATE,GETDATE())))'
EXEC sp_msforeachtable @command1="drop table ?" ,@whereand=@whereand
中国风 2020-09-21
  • 打赏
  • 举报
回复
没有可比性 清空数据,保留表结构truncate table 删除表drop table
  • 打赏
  • 举报
回复
你都要drop table了 还要truncate做什么

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧