Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL“或”导致超时_Sql_Timeout_Conditional_Union - Fatal编程技术网

SQL“或”导致超时

SQL“或”导致超时,sql,timeout,conditional,union,Sql,Timeout,Conditional,Union,在本地,此查询运行良好使用联接而不是IN子句 1选择*将显示所有列/数据,并占用大量时间。2当使用left join时,您可能只关注右表中不存在的数据,然后必须在left join语句中指定筛选器,而不是where子句。3并且您的where子句可能应该只过滤右表中的空值,原则上您希望知道左表中是否没有任何匹配项。4并尝试显式地在上使用内部连接,而不是通过where子句连接到它。连接优化 select * from foo_main A with(nolock) where a.i = a.i a

在本地,此查询运行良好使用联接而不是IN子句

1选择*将显示所有列/数据,并占用大量时间。2当使用left join时,您可能只关注右表中不存在的数据,然后必须在left join语句中指定筛选器,而不是where子句。3并且您的where子句可能应该只过滤右表中的空值,原则上您希望知道左表中是否没有任何匹配项。4并尝试显式地在上使用内部连接,而不是通过where子句连接到它。连接优化
select *
from foo_main A with(nolock)
where a.i = a.i
and (IsNull(A.v, '0') = '1')
and (IsNull(A.d, '') = 'CODE_B')
and A.c in ('CODE_B')
AND (a.p = '123456789' or
a.p IN (SELECT DISTINCT f.ui
    FROM foo_faculty f
    LEFT JOIN foo_unit ff ON (f.ui = ff.ui)
    LEFT JOIN unit u ON (ff.ui = u.ui AND
        f.c = u.c),
    foo_Personnel p, foo_System s, unit u1
    WHERE s.P = p.P
    AND s.s = 'G'
    AND s.R = 'R4'
    AND p.ui = '1q2w3e4r5t6y'
    AND p.ui = u1.ui
    AND p.i = u1.i
    AND u.i = u1.i
    AND u.dI LIKE u1.DI + '%' COLLATE
    SQL_Latin1_General_CP1_CS_AS))
order by lname, fname