1

以下の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'

現在のインターフェイスの制限により、上記のコードを使用して、1 つの選択が欠落している場合に「-」が表示されるようにする必要があります。

一部のフィードは次のようなものになります

SelectionId 名前 チーム ステータス PriceText
===================================
1 バーニー 2010 A 10
2 ジム 2020 A 5
3 マット 2030 A 6
4 ジョン 2040 A 8
5 ポール 2050 A 15/2
6 フランク 2060 S 10/11
7 トム 2070 A 15

上記の SQL コードを使用するのが最も速く効率的ですか??

何か参考になることを教えてください。更新を含むメッセージが望ましいでしょう。

4

1 に答える 1

0

あなたができるいくつかのこと:

  1. sb_Selection(MeetingId, EventId, MarketId) にインデックスがあることを確認します
  2. sb_Market(MeetingId, EventId, MarketId) にインデックスがあることを確認します
  3. より良いパフォーマンスが必要な場合は、インデックスをカバーすることを検討してください (例: S.team、S.Status、S.PriceText をカバーできます)。
于 2009-08-02T13:22:23.913 に答える