Sql 你知道为什么这个查询会运行得这么慢吗?
查询一——索引查找Sql 你知道为什么这个查询会运行得这么慢吗?,sql,sql-server,database-administration,sqlperformance,Sql,Sql Server,Database Administration,Sqlperformance,查询一——索引查找 SELECT P.Date_Send_Ins,C.* FROM DATABASE1..TABLE1 P WITH (FORCESEEK) JOIN DATABASE2..TABLE2 C ON P.COLUMN1 = C.COLUMN1 AND P.COLUMN2 = C.COLUMN2 WHERE LEFT(C.COLUMN3 ,7) LIKE 'YYYY/MM' and LEFT(P.COLUMN3 ,2) = 'YS' SELECT P.Da
SELECT P.Date_Send_Ins,C.*
FROM DATABASE1..TABLE1 P WITH (FORCESEEK) JOIN DATABASE2..TABLE2 C ON P.COLUMN1 = C.COLUMN1 AND P.COLUMN2 = C.COLUMN2
WHERE LEFT(C.COLUMN3 ,7) LIKE 'YYYY/MM' and LEFT(P.COLUMN3 ,2) = 'YS'
SELECT P.Date_Send_Ins,C.*
FROM DATABASE1..TABLE1 P JOIN DATABASE2..TABLE2 C ON P.COLUMN1 = C.COLUMN1 AND P.COLUMN2 = C.COLUMN2
WHERE LEFT(C.COLUMN3 ,7) LIKE 'YYYY/MM' and P.Date_Send_Ins LIKE 'YS%'
SELECT P.Date_Send_Ins,C.*
FROM DATABASE1..TABLE1 P JOIN DATABASE2..TABLE2 C ON P.COLUMN1 = C.COLUMN1 AND P.COLUMN2 = C.COLUMN2
WHERE LEFT(C.COLUMN3 ,7) LIKE 'YYYY/MM' and LEFT(P.COLUMN3 ,2) = 'YS'
SELECT P.Date_Send_Ins,C.*
FROM DATABASE1..TABLE1 P WITH (FORCESEEK) JOIN DATABASE2..TABLE2 C ON P.COLUMN1 = C.COLUMN1 AND P.COLUMN2 = C.COLUMN2
WHERE LEFT(C.COLUMN3 ,7) LIKE 'YYYY/MM' and LEFT(P.COLUMN3 ,2) = 'YS'
SELECT P.Date_Send_Ins,C.*
FROM DATABASE1..TABLE1 P JOIN DATABASE2..TABLE2 C ON P.COLUMN1 = C.COLUMN1 AND P.COLUMN2 = C.COLUMN2
WHERE LEFT(C.COLUMN3 ,7) LIKE 'YYYY/MM' and P.Date_Send_Ins LIKE 'YS%'
sp\u updatestats
,但这并不更好
如何解决此问题?避免在where子句中的任何表列上使用函数。几乎总是一个性能问题。例如,不要使用LEFT()
数据库1..TABLE1上有哪些索引?错误的索引会减慢查询速度。当我禁用索引时,问题已得到解决。谢谢。我不使用此函数,但其他用户使用此函数,我是DBA,我必须控制SQL Server性能。好的,但请让这些用户知道如何避免where子句中的数据函数。。。。那会帮你的,太好了!那么你有想要的答案了?如果这是真的,那么请接受,看是的,我知道,但我的问题是通过禁用索引解决的,我同意你关于列的函数阻止使用索引,我告诉他们