我想知道在这样的 tsql 查询中什么执行得更快以及它更可取的条件是:
select case 'color' when 'red' then 1 when 'blue' then 2 else 3 end
还是在从数据库中获取值后在 c# 代码中执行相同的切换?
switch(color):
{
case "red":
return 1;
case "blue":
return 2;
default:
return 3;
}
为了在我的特定情况下添加更多数据,我们有一个 sql 查询,在某些情况下返回 5800 多条记录(日期过滤器等),然后我们将这些结果连接到 c#(每条记录一个 txt 行)并生成一个 txt。
我们有一台服务器,即 sql server + webserver(asp.net),生成它需要 10 分钟或更长时间......所以我们考虑在 sql 端执行所有条件,也许将字段连接为一个在 sql 级别也与使用带有 StringBuilder 的 c# 循环?
现在 sql 需要 1 秒来执行,并且在连接循环中所花费的所有时间,有 5873 条记录,每条记录有 11 个字段