数据库表的数据量特别大时,仅仅是几十上百M的表,直接用delete删除表一般会报错,而且查询执行会很慢。
这时怎么办呢?
我们平时查询不是可以查询前多少行吗?以这个思路来delete呢?
1、这时我们就可以先查询一个前1000000行集合
select TOP 1000000 列名 from 表名
2、然后delete删除该集合
delete FROM [LongCtrl].[dbo].[EventRecord]
where EventTime in (select TOP 1000000 EventTime from EventRecord)
思路提供了,可以根据这个思路创建更有效的删除方式。
觉得文章有用的朋友们,点个赞再走呗。