さて、私は何時間も試してみましたが、クエリを少しでも速く動作させることはできません。
それらの間にたくさんの巨大なクエリがありUNION ALL
ます。残念なことに、クエリの実行には約 10 秒かかります。もちろん、これはユーザーが待つには長すぎます。
次のようになります (簡易版):
SELECT distinct *
FROM (
SELECT
'QUD' as typeString,
1 as typeInt,
Process.END_USER_PROJECT.id,
.......,
1 as actionAvailable
FROM Process.END_USER_PROJECT (nolock)
INNER JOIN Process.EXTERNAL_ORGANISATION (nolock)
ON externalID = Process.EXTERNAL_ORGANISATION.Id
WHERE externalID = 1111
UNION ALL
SELECT 'SPECS' AS typeString,
2 as typeInt ,
Process.SPECIFICATION_GENERAL.id,
.......,
1 as actionAvailable
FROM Process.SPECIFICATION_GENERAL (nolock)
INNER JOIN Process.END_USER_PROJECT (nolock)
ON Process.SPECIFICATION_GENERAL.EndUserProjectId = Process.END_USER_PROJECT.id
INNER JOIN ....
WHERE externalID = 1112
UNION ALL
....................
UNION ALL
....................
--AND SO ON...
) AS myTempTable ORDER BY typeString, ....
私はVIEWS
おそらくそれをより速く動作させることを検討してきましたが、そうではありません。クエリ全体を処理するのにほぼ同じ時間がかかります。
オプションが不足しています。これを実際に機能させる必要があります。;
誰かが最適化のアイデアを思いついたのですが、特に私の場合は?