0
我有以下查詢,提取我需要的信息,但速度太慢,無法使用。它基本上是兩個表格中的選擇查詢,並且還包括來自另一個表格的計數。我希望得到這方面的一些幫助,因爲現在一直在掙扎幾天。我有一個關於tblDriver狀態列的索引。MYSQL子查詢計數緩慢
SELECT date_format(`tblAvailability`.`adate`,'%e %b %Y') AS `adate`,
date_format(`tblAvailability`.`adate`,'%a') AS `aday`, `tblVenue`.`name` AS `name`,
tblAvailability.cars, `tblAvailability`.`adate` AS `bdate`,
`tblAvailability`.`totalslots` AS `totslots`,
(SELECT count(*) FROM `tblDriver` WHERE ((`tblDriver`.`status` <> 'refunded') and (`tblDriver`.`status` <> 'rejected') and (`tblDriver`.`status` <> 'rebook') and (`tblDriver`.`status` <> 'rebook-cust') and (`tblDriver`.`eventid` = `tblAvailability`.`id`))) AS `bslots`
FROM (`tblAvailability` join `tblVenue` on((`tblAvailability`.`idvenue` = `tblVenue`.`id`)))
WHERE ((`tblAvailability`.`adate` > now())
AND (`tblAvailability`.`status` <> 'inactive') and (`tblAvailability`.`status` <> 'removed'))
GROUP BY `tblAvailability`.`adate`,`tblVenue`.`name`
ORDER BY `tblAvailability`.`adate`,`tblVenue`.`name`
太好了。謝謝。也感謝你的整潔的例子。我會檢查並從您的建議格式/佈局學習。我想我是以一種凌亂的方式教/學的。 :) 我確實有你想象中的第三個索引,但其他兩個幫助加快了速度。 現在我已經意識到,它只是提出了當天的第一場會議,我已經通過給a.totalslots添加了總和來挑選出總分。只需要弄清楚如何在子查詢中對bslot進行求和。 – Charlie