0
このサブクエリは少し時間がかかります。どのように速くするためにそれを変更することができますか?SQL Serverクエリの短い部分を最適化する
ISNULL(ISNULL(
(select top 1 CONVERT(VARCHAR(11), qq.startdate , 111)
from (select a.startdate, a.ownerid
from wfassignment a
where a.ownertable='PM' /*order by a.startdate*/)qq
where qq.ownerid=pm.pmuid),
(select min(w.reportdate)
from workorder w where w.pmnum=pm.pmnum
and w.siteid=pm.siteid
and w.orgid= pm.orgid)
),CONVERT(DATETIME,'01-02-2015 00:00:00'))
これはSQL Serverよりもはるかに高速です。また、トップ1がoracleからrownum = 1と等しいかどうかを確かめたい。 感謝:)
パフォーマンスのヘルプを求める質問には、実行計画、関連する表のスキーマ、テストのための詳細などが含まれている必要があります。https://support.microsoft.com/en-us/help/914288/how-to-generate-a-必要なスクリプトのデータベースの作成メタデータから統計のみのデータベースのSQLサーバ – TheGameiswar
複数の要件により、同じ構造を持つクエリが生成されることがあります。* intuit *このクエリの背後にある意図は、おそらく*説明することができます*。サンプルデータと期待される結果は、大いに役立ちます。 –
これはOracleでは高速ではありません。完全に異なるデータベースで、異なるインデックスを使用した全く異なるクエリです。インデックスが異なる場合、クエリのテキスト形状は重要ではありません。 –