2011-07-11 15 views
1

私はそうのように、行の数回の応答時間を発見ともなう照会があります、私は完全にどのようにSQLプロセスをバックグラウンドでこのようなものを理解していない今頻繁にクエリされる列をSQLiteに格納する方法はありますか?

ROUND(AVG(T.FinishTime-T.StartTime),3) AS 'Average', MAX(T.FinishTime-T.StartTime) AS 'Max', MIN(T.FinishTime-T.StartTime) 

のが、私の一般的な知識からコーディングは、減算を行うことをお勧めしますT.FinishTime-T.StartTimeより効率的ですか?すなわち、計算が1回行われた後、集計がその計算リストで見つかるか?それともすでにこのようにしていますか?私はちょうどより効率的で読みやすいチャンクに私のクエリをダウンカットしようとしたい。私は最初にT.FinishTime-T.StartTimeのビューを作成することができましたが、この集約は実行されましたが、使用されるたびにそのビューが計算されることを読みました。

ヘルプありがとうございました!

+1

これは、物事の全体計画では非常に高価な繰り返しではありません。私は他の何かを最適化するためにあなたの時間を過ごすと言うでしょう。 group by節はそのような場所かもしれません。 – Tim

+0

十分に公正で、それは私がそれが必要以上に長くかかったように思えました。ええ、質問にグループがあります。ありがとう! – Chucky

答えて

1

あなたはなぜこのような単純な計算によってアプリケーションが遅くなると思うのですか相当額ですか?

時期尚早最適化はすべての悪の根源です。あなたは完全に効果のない何かにあなたの時間を無駄にしているかもしれません。最初にプロファイルし、後で最適化します。プロフィールがない場合、に最適化されていません。

関連する問題