如果不使用checkpoint,文件数会剧增
参考:https://docs.microsoft.com/zh-cn/sql/relational-databases/logs/database-checkpoints-sql-server?view=sql-server-2017
?
文件还没有计算完,已经上亿了
?
?
在开发机上,先清空数据,确保文件流的目录下没有文件
TRUNCATE
TABLE dbo.Position
CHECKPOINT |
?
然后尝试插入数据
INSERT dbo.Position
(
ID,
HourBand,
Data
)
VALUES
(NEWID(), 1, sharedb.[dbo].[f_gbk2Bin]('aa', 2)); |
只有一个文件,很正常
修改数据,但实际内容并未修改,
?
UPDATE dbo.Position SET
Data=sharedb.[dbo].[f_gbk2Bin]('aa',2) |
多出了一个文件
再进行一次无效插入
INSERT dbo.Position
(
ID,
HourBand,
Data
)
VALUES
(NEWID(), 1, sharedb.[dbo].[f_gbk2Bin]('aa', 2)); |
结果又多了一个文件
文件如下:
?
换一种思路
先重复三次更新,出现4个文件,再执行一次checkpoint,大约10秒后多余文件消失
?
?