回答編集履歴

2

言葉足らずな部分を修正

2016/12/16 07:57

投稿

haru666
haru666

スコア1591

test CHANGED
@@ -18,11 +18,11 @@
18
18
 
19
19
  キャッシュした場合は実現したい検索処理によってどうしたら高速になるのかは変わってきます。
20
20
 
21
- 一番簡単な方法であればWhereメソッドを必要に応じて繋げていき、最も遅い時間を取ってくるのは`LastOrDefault`を、最も早い時間は`FirstOrDefault`を使えばいいです。
21
+ 一番簡単な方法であればコレクションをソート済みで用意しておき、Whereメソッドを必要に応じて繋げていき、最も遅い時間を取ってくるのは`LastOrDefault`を、最も早い時間は`FirstOrDefault`を使えばいいです。
22
22
 
23
23
 
24
24
 
25
- 毎回アクセスする時にソートするではなく、ソートの必要がないように最初にコレクションを用意しておくのここでもやはり重要です。
25
+ ソートの必要がないように最初にコレクションを用意しておくのここでもやはり重要です。
26
26
 
27
27
  まずは時間順でソートしておきましょう。これはSQLならデータを取ってくる時にしておけばいいです。
28
28
 

1

言葉足らずな部分を修正

2016/12/16 07:57

投稿

haru666
haru666

スコア1591

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- もしもコレクションのソースがデータベースで、毎回問い合わせ毎に発生するようなケース(Webアプリの場合とか)だったらそもそもLinq使うのやめて全部SQL文で対処しましょう。SQL側にも1件だけデータを取ってくるための構文が大体用意されてます。(SQL Serverだったら TOP 1とかね。)
9
+ もしもコレクションのソースがデータベースで、キャッシュしておけずに毎回SQL問い合わせ発生するようなケース(Webアプリの場合とか)だったらそもそもLinq使うのやめて全部SQL文で対処しましょう。SQL側にも1件だけデータを取ってくるための構文が大体用意されてます。(SQL Serverだったら TOP 1とかね。)
10
10
 
11
11
 
12
12