试图加快SQLITE UNION QUERY

时间:2009-07-22 10:15:32

标签: sql performance sqlite union

我有以下SQLITE代码

SELECT x.t,
CASE WHEN S.Status='A' AND M.Nomorebets=0 THEN S.PriceText ELSE '-' END AS Show_Price
FROM sb_Market M
LEFT OUTER JOIN
(select 2010 t union
select 2020 t union
select 2030 t union
select 2040 t union
select 2050 t union
select 2060 t union
select 2070 t
) as x
LEFT OUTER JOIN sb_Selection S ON
S.MeetingId=M.MeetingId AND
S.EventId=M.EventId AND
S.MarketId=M.MarketId AND
x.t=S.team
WHERE M.meetingid=8051 AND M.eventid=3 AND M.Name='Correct Score'

根据当前的界面限制,我必须使用上面的代码来确保如果缺少一个选择,则会出现“ - ”。

某些Feed会类似于以下内容

SelectionId Name Team Status PriceText
===================================
1 Barney 2010 A 10
2 Jim 2020 A 5
3 Matt 2030 A 6
4 John 2040 A 8
5 Paul 2050 A 15/2
6 Frank 2060 S 10/11
7 Tom 2070 A 15

使用上面的SQL代码是最快的&高效??

请告知任何有用的信息。有更新的邮件会更好。

1 个答案:

答案 0 :(得分:0)

你可以做的一些事情:

  1. 确保sb_Selection上有索引(MeetingId,EventId,MarketId)
  2. 确保sb_Market上有索引(MeetingId,EventId,MarketId)
  3. 如果您需要更好的表现,请考虑覆盖索引(例如,您可以涵盖S.team,S.Status,S.PriceText)