私は巨大なストアプロシージャを持っています。これのほんの一部を貼り付けます。
私のクエリ:
--declare variable and Select Statement goes here
WHERE ((v.[RoleID] IN (
SELECT [dbo].[aspnet_UsersInRoles].roleid
FROM [dbo].[aspnet_UsersInRoles]
INNER JOIN [dbo].[aspnet_Users]
ON [dbo].[aspnet_Users].userid = [dbo].[aspnet_UsersInRoles].userid
WHERE
[dbo].[aspnet_Users].username = @UserName
UNION ALL
SELECT [RoleId]
FROM dbo.aspnet_roles
WHERE loweredrolename = 'anonymous user')
OR v.username = @UserName))
クエリは完璧に機能しますが、実行に時間がかかります。状態 内WHERE
状態有り 状態 かなりありますIN
。内部のサブクエリは時間がかかると思いますIN
。IN
このクエリを最適化し、条件内を置き換える方法はありますかWHERE
。または、このタイプのクエリを最適化する別の方法を提案してください。ありがとう。