1

私はクエリを使用してcustomersというテーブルからレコードを取得しています。レコードをaddress, housenumber, surname, nameで注文したいと思います。Linq-to-SQLによるレコードを注文するクエリのパフォーマンスを向上

は、最初に私は、私はこれを使用する今、この(DataTableの)

public CustomerInfo.customers GetCustomers(string zipcode) { 
    string sql = "select id, name, surname, zipcode, housenumber where zipcode = @_zipcode order by address, housenumber, surname, name"; 
....  
} 

を使用:

public OrderedEnumerableRowCollection<CustomerInfo.customerRow> GetCustomers(string zipcode) { 
    string sql = "select id, name, surname, zipcode, housenumber where zipcode = @_zipcode"; 

    .... 

    return (from c in datatable).OrderBy(c => c.Address).ThenBy(....).ThenBy(...);  
} 

が正しい方法は、パフォーマンスを向上させるためにということですか...?

OrderedEnumerableRowCollectionと(DataTable)の(dis)メリットは何ですか?

どうすればいいか教えてください。

答えて

0

これは、SQL Serverのインデックス作成がより高速であることに依存しています。例えば、SQL Serverが注文を素早く行うことができるように(またはデータが非常に小さいように)索引付けされている場合、データテーブルは正常です。

一般に、SQL Serverは.NETコードよりも効率的です。

しかし、一般的な建築ノートにもかかわらず。注文がUI上の懸念事項である場合(特に問題ではない)、オーダークライアント側の方が理にかなっています。特に、別の場所で(潜在的には別の順序で)データテーブルを使用する場合はそうです。

+0

私は、ハードディスクがマシンのメモリよりも遅いため、DBによる処理が効率的ではないと考えましたか? – Ruutert

+0

私はサブカテゴリを持つカテゴリを持ち、サブカテゴリはオーダーラインを持っています。カテゴリにはソートコードと説明も含まれています。カテゴリーは、オーダーラインテーブル内のカテゴリテーブルと注文ラインに格納されている 00 GROUP A 00サブグループA 00から000のOrderLine 1 など 私はここからツリーを構築したい 、これをどのように行うには? SQLまたはLinq? – Ruutert

関連する問題