SELECT ID,uye,kazanilacakmiktar FROM kupon WHERE durum=0 AND ID IN (
select c.kupon
from kuponbahis c join
bahis b
on ((b.sonuc = c.secim) OR (b.sonuc=5)) and b.ID = c.bahis
group by c.kupon
having sum(c.bahis = '999') > 0 and
count(*) = (SELECT COUNT(*) FROM kuponbahis WHERE kupon = c.kupon));
我有这样的查询。我的索引位于kupon.ID, kupon.uye, kupon.kazanilacakmiktar, kuponbahis.bahis, kuponbahis.secim
,但它仍然具有重要的运行时间。
我错过了什么,我做错了什么?
答案 0 :(得分:2)
查询的明显索引是:
kupon(durum, id)
kuponbahis(kupon)
bahis(id, sonuc)
但是,我并不相信这些索引会对他的查询有很大帮助。查询相当复杂,可能有其他方式表达逻辑。