交换数千个值的效率

时间:2012-05-31 09:05:06

标签: c# sql switch-statement performance

我正在将数据导入数据库。每次约5000行。当我插入数据库时​​,其中一列有一个位置。总共有大约80个可能的位置。在将每行插入数据库之前,我想检查其中的每一个并将其更改为另外80个位置名称的列表。我现在有一个帮助我的转换声明,但我想知道是否有人认为这是一个不好的方法,或者我是否在正确的轨道上。

所以基本上就是这一刻。当我上传我的数据时,需要检查该switch语句并将值更改5000次。转换是正确的方法吗?

3 个答案:

答案 0 :(得分:5)

不要使用switch语句,很难维护。在数据库中创建另一个表,将您的输入位置映射到所需的数据库位置,然后查询该表。使更新/插入新位置等更容易,并使脚本的长度保持在理智水平。

答案 1 :(得分:2)

您可以在数据库中使用转换表,也可以在应用程序中使用Dictionary而不是交换机。

答案 2 :(得分:2)

在导入过程中似乎不适合转换。

我会按原样导入数据,然后导入UPDATE表,或者使用先前建议的查找表