Sql server 此查询的备选方案是什么?

Sql server 此查询的备选方案是什么?,sql-server,sql-optimization,Sql Server,Sql Optimization,下面是我的问题。在sql server中运行需要4分钟,而通过.net代码运行需要1个多小时。请建议此问题的替代解决方案 SELECT DISTINCT REPLACE(REPLACE( CASE WHEN (CHARINDEX('/', REVERSE(URL), 1) = 1) THEN LEFT(URL, LEN(URL) - 1) ELSE URL END, 'http

下面是我的问题。在sql server中运行需要4分钟,而通过.net代码运行需要1个多小时。请建议此问题的替代解决方案

SELECT DISTINCT
    REPLACE(REPLACE(
        CASE
            WHEN (CHARINDEX('/', REVERSE(URL), 1) = 1)
                THEN LEFT(URL, LEN(URL) - 1)
            ELSE URL
        END, 'http://', ''), 'www.', '') AS URL,
    NULL AS [source],
    REPLACE(REPLACE(
        CASE
            WHEN (CHARINDEX('/', REVERSE(TargetURL), 1) = 1)
                THEN LEFT(TargetURL, LEN(TargetURL) - 1)
            ELSE TargetURL
        END, 'http://', ''), 'www.', '') AS TargetURL,
    NULL AS [target],
    PageAuthority AS Authority,
    1 AS [isInternal]
FROM [Internal](nolock)
WHERE Domain_ID = 2
    AND NoofDomainsLinkingtothisPage > 1
    AND REPLACE(REPLACE(
        CASE
            WHEN (CHARINDEX('/', REVERSE(URL), 1) = 1)
                THEN LEFT(URL, LEN(URL) - 1)
            ELSE URL
        END, 'http://', ''), 'www.', '')
            IN (SELECT DISTINCT URL FROM #tempCalAuthTable11(NOLOCK))--864

    AND REPLACE(REPLACE(
        CASE
            WHEN (CHARINDEX('/', REVERSE(TargetURL), 1) = 1)
                THEN LEFT(TargetURL, LEN(TargetURL) - 1)
            ELSE TargetURL
        END, 'http://', ''), 'www.', '')
            IN (SELECT DISTINCT URL FROM #tempCalAuthTable11(NOLOCK))
以下是执行计划的详细信息


添加执行计划。如果没有这一点,我们只能推测。还可以提供一些示例数据,为QueryTanks Devart的
#tempCalAuthTable11
+
选项(重新编译)
添加
唯一的
索引。读一篇Erland Sommarskog的文章,添加执行计划。如果没有这一点,我们只能推测。还可以提供一些示例数据,为QueryTanks Devart的
#tempCalAuthTable11
+
选项(重新编译)
添加
唯一的
索引。读一篇Erland Sommarskog的文章。