【发布时间】:2017-10-16 18:59:48
【问题描述】:
(我会简化...)
一个包含 4500 万条记录且逐日增加的表。
每天晚上,我都必须替换一个表格,在该表格中我必须从 nvarchar(max) 字段中删除 HTML、CSS 标记
并且还将 GMT 从日期时间字段转换为 UTC (8)。
我用标量函数进行了测试,但它真的很慢,需要好几个小时......
什么是最好的方法(就性能而言)? 我不需要SQL查询,只是为了解释方式/方法......
谢谢!
精度: 我必须在一夜之间从商业产品中提取 4500 万条记录(我无法控制软件),并将数据重定向到另一个 SQL Server 上的“主”数据库......
我尝试了很多方法,例如... SQL - Remove all HTML tags in a string
Convert Datetime column from UTC to local time in select statement
但它真的很慢......
【问题讨论】:
-
就性能而言,最好的方法是在插入数据之前对其进行清理,这样您就不必每晚擦洗它。
-
那么你期待什么?这非常模糊,我们无法提供答案。可以说你还没有真正问过问题。您似乎需要一些帮助,但没有详细信息,我们无法为您提供任何指导。
-
使用 CLR 处理字符串而不是 TSQL。
-
每天添加多少行?您可以跟踪添加了哪些行并只清理那些行吗?这样你就可以边走边打扫了。
-
来自Wikipedia:“对于最常见和合法的贸易目的,UTC 和 UT (GMT) 之间的小数秒差异微不足道。格林威治标准时间是英国冬季的法律标准,并且这种符号为人们所熟悉和使用。”不超过 +/-0.9 秒的误差对您的应用程序来说真的是个问题吗?你如何得到更正?
标签: sql sql-server tsql boost