我有一个数据库表,其中包含一个包含RTF(富文本格式)的字段。我需要将RTF转换为HTML,以便以后在HTML编辑器中正确显示它。
为了实现这一点,我开发了一个控制台应用程序,为每个表条目读取RTF字段并将其转换为HTML。此步骤只需执行一次(是一个独特的迁移过程),并且 1500条记录受影响。
由于所涉及的记录数量不是很高,因此性能不会受到严重影响,但暂时忽略了我想知道的数据量,这对于这种情况来说是最好的模式:
1) Extract data from DB<br>
2) Execute modification on that data<br>
3) Update the relative row with modified values
考虑到我正在使用LINQ to SQL,仍然可以为每个修改过的记录执行submit(),或者将修改后的记录存储在数据结构中(比如带有ID,modifiedValue的HashTable)并进行单个提交()为所有人?
答案 0 :(得分:1)
DBMS上的性能通常受以下顺序的硬件影响:
在软件方面,瓶颈通常至少是其中之一,不一定按此顺序排列,效果可以从上面列表中的第一个到最后一个:
您的算法很简单,并且 - 假设您有一个主键并且它只是一个表 - 您无法从索引或查询计划中获益。
你提到这是一回事,所以我开始把所有东西都放到一个交易中。
如果您的DBMS是Microsoft SQL Server 2005或更高版本,您可以使用CLR Integration在服务器上运行整个操作,并消除硬件边界编号1.