我有一个这样的where子句:
$('a#download-button').on "click", ->
urlList = [
'http://www.google.com'
'http://www.msn.com'
'http://www.yahoo.com'
]
wnd = undefined
curIndex = 0
openWindow = ->
wnd = window.open(urlList[curIndex], '', '')
setTimeout (->
wnd.close()
curIndex++
if curIndex < urlList.length
openWindow()
return
), 2000
return
openWindow()
如何优化?
答案 0 :(得分:0)
我们需要查看完整的查询才能给您一个完整的答案。
但是,假设您正在对表T进行11次自连接,则可以通过首先在CTE中应用过滤器来简化查询并可能提高性能。
WITH T
AS (
SELECT *
FROM basetable
WHERE Update_date >= @d
)
SELECT *
FROM T AS t1
INNER JOIN T AS t2
ON t1.Pk = t2.Pk
INNER JOIN T AS t3
ON t1.Pk = t3.Pk;
如果您在CTE中过滤,则对CTE的所有后续引用都将包含过滤器。根据查询的其余部分,这可以通过将过滤器限制为单次传递来提高性能。它还可以压缩代码并使其更易于维护。