私は、次のような 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;
}
私の特定のケースでさらにデータを追加するには、場合によっては 5800 件以上のレコードを返す SQL クエリがあり (日付フィルターなど)、それらの結果を c# で連結し (レコードごとに 1 つの txt 行)、txt を生成します。
SQLサーバー+ Webサーバー(asp.net)であるサーバーが1つあり、それを生成するのに10分以上かかります...したがって、SQL側ですべての条件を実行することを考えて、フィールドを1つに連結する可能性がありますSQL レベルでも StringBuilder で c# ループを使用するのと比較しますか?
現在、SQL の実行には 1 秒かかり、常に連結ループで実行されます。それぞれ 11 フィールドを持つ 5873 レコードがあります。