如果有人建议获得更好的头衔,请成为我的客人
背景:我有一个图像表来存储来自数千个订单的照片,但是一旦这些订单完成/取消,我想删除图像(存储为varbinary)而不删除整行,这样我就不会#39; t超过10GB的SQL快速限制
我不想删除该行的原因是因为我有另一个表格,其中包含一些图像属性(裁剪区域,亮度等)以及是否由于某种原因需要恢复图像(简单的API调用另一个服务器),它只会更新images表中的现有记录,我仍然可以访问属性表中保存的该图像的属性
所以这是查询的样子
UPDATE images
SET images.image = NULL
FROM images
INNER JOIN orders on orders.order_id = images.order_id
WHERE orders.status = 'COMPLETED'
它需要永远,因为它可能一次归零几GB的varbinary数据(订单是在批量生产中完成的,而不是一个一个地完成)。然后,所有这些都保存在事务日志中。它可以让我的机器使用SSD最多一分钟来完成,而生产机器的硬盘驱动器可以使用几分钟。
有没有办法可以为每个查询执行简单的事务日志,而不是将整个日志设置为简单模式?或者更好的删除varbinary值的方法?
谢谢