ログテーブルを使用して、アプリケーション内のかなりの情報を推測しています。私は、ORMがクエリを実行するのにどれくらいの時間がかかり、ORMを使ってタスクを達成するためのクエリの量に疲れていました。しかし、自分でTSQLを書き込もうとしばらくしてから、私は本当にTSQLを書き換えようと十分に改善していませんでしたか?このクエリを改善する方法に関するいくつかの提案を得ることができます。ありがとう。 MSSQL 2005サブ選択を削除してクエリを改善しましたか?
クエリ使用
:どのように/どこ実行計画を投稿してください本当に
select
[Priority] =
case
when t0.jm_priority = 0 then 'Normal'
when t0.jm_priority = 1 then 'High'
when t0.jm_priority = 2 then 'Urgent'
end,
t0.JM_Label as [Job Name],
t1.jt_name as [Job Type],
(select top(1) x0.JL_Created from pub_joblog as x0
where x0.js_jobstatusid = 1 and x0.jm_jobmasterid = t0.jm_jobmasterid
order by jl_created asc) as [Received Date],
t0.jm_duedate as [Job Due Date],
t0.jm_cabduedate as [Job CRB Due Date],
t3.displayname as [Job Host Site],
(select top(1) x1.username from pub_joblog as x0
inner join netinfo_users as x1 on x1.userid = x0.netinfo_userid
where x0.js_jobstatusid = 1 and x0.jm_jobmasterid = t0.jm_jobmasterid
order by jl_created asc) as [Author],
t4.username as [Tech Writer],
(select top(1) x1.JS_Description from pub_joblog as x0
inner join pub_jobstatus as x1 on x1.js_jobstatusid = x0.js_jobstatusid
where x0.jm_jobmasterid = t0.jm_jobmasterid
order by jl_created desc) as [Job Status],
(select top(1) x0.JL_Created from pub_joblog as x0
where x0.js_jobstatusid = 9 and x0.jm_jobmasterid = t0.jm_jobmasterid
order by jl_created desc) as [Completed Date],
(select top(1) x0.JL_Created from pub_joblog as x0
where x0.jm_jobmasterid = t0.jm_jobmasterid
order by jl_created desc) as [Last Modified],
(select top(1) x0.jl_notes from pub_joblog as x0
where x0.jm_jobmasterid = t0.jm_jobmasterid
order by jl_created desc) as [Last Job Comment]
from pub_jobmaster as t0
inner join pub_jobtype as t1 on t1.jt_jobtypeid = t0.jt_jobtypeid
left outer join pub_jobsitemap as t2 on t2.jm_jobmasterid = t0.jm_jobmasterid
left outer join net_ou as t3 on t3.net_ouid = t2.net_ouid
left outer join netinfo_users as t4 on t4.userid = t0.nu_techwriterid
where (select top(1) z0.js_jobstatusid
from pub_joblog as z0
where z0.jm_jobmasterid = t0.jm_jobmasterid
order by z0.jl_created desc) <> 9 AND (select top(1) z0.js_jobstatusid
from pub_joblog as z0
where z0.jm_jobmasterid = t0.jm_jobmasterid
order by z0.jl_created desc) <> 16
order by t0.jm_duedate
れていないので、私はちょうどjsfiddle.netにアップロード:http://jsfiddle.net/my52z/
をおそらくありません意図された目的ですが、それは動作します。
実行計画を投稿してください...例えば任意の必要なインデックスを示し、および/または最適化するためのスポットを指摘することができますなど – Yahia
@Yahiaは、私は同じくらいの性能と本当に心配していないよ実行計画 –