小编Jos*_*ond的帖子

SQL查询性能会降低,具体取决于搜索值的顺序

我有一个双重自联接查询,当交换搜索值时性能严重下降.

-- 500,000 i/o & 500ms execution
select
  fooA.ID
  , fooB.ID
from
  foo AS fooA
  INNER JOIN bar AS barA ON fooA.barID = barA.barID
  INNER JOIN foo AS fooB ON fooA.fooID = fooB.fooID -- self join
  INNER JOIN bar AS barB ON fooB.barID = barB.barID
where
  barA.value = 'xyz'
  AND barB.value = '60'

-- 5,000 i/o & 5ms execution
select
  fooA.ID
  , fooB.ID
from
  foo AS fooA
  INNER JOIN bar AS barA ON fooA.barID = barA.barID
  INNER JOIN foo AS …
Run Code Online (Sandbox Code Playgroud)

sql sql-server self-join query-optimization

5
推荐指数
1
解决办法
307
查看次数

标签 统计

query-optimization ×1

self-join ×1

sql ×1

sql-server ×1