更新sql表的最快方法是什么
本文关键字:方法 是什么 sql 更新 | 更新日期: 2023-09-27 18:30:10
我有一个C#应用程序,它允许用户更新数据库中的一些列。我的问题是,我在数据库中有300000条记录,而仅仅更新50.000条就花了30分钟。我能做点什么来加快速度吗?
我的更新查询如下:
UPDATE SET UM = 'UM', Code = 'Code' WHERE Material = 'MaterialCode'.
我唯一的唯一约束是"材质"。我读取用户选择的文件,并将数据放入数据表中,然后逐行更新DB 中的相应材料
限制数据库中的索引数量,尤其是在应用程序频繁更新数据的情况下。这是因为每个索引都会占用磁盘空间,并且会减慢行的添加、删除和更新速度,因此只有在分析了数据的使用、执行的查询的类型和频率以及查询将如何使用新索引之后,才应该创建新索引。
在许多情况下,创建新索引的速度优势超过了使用额外空间和缓慢修改行的劣势。但是,请避免使用冗余索引,只在必要时创建它们。对于只读表,可以增加索引的数量。
-
如果更新频繁,请对表使用非聚集索引。
-
如果更新/插入不频繁,请对表使用聚集索引。
-
C#代码可能不是问题,您的更新语句很重要。update语句的Where子句是需要注意的地方。您需要在where子句中有一些索引列。
还有一件事,字段材料是索引的吗?此外,where子句是否需要位于具有varchar值的字段上?它不能是一个整数值字段吗?
如果对包含整数而非字符串的字段进行筛选,则性能会更好。不确定这对你来说是否可能。