我知道慢查詢日誌,但這不僅僅適用於超出最大執行時間的查詢嗎?我的問題略有不同(我認爲)。查詢花費太長的時間來獲取數據
我正在運行下面的查詢,對我來說它似乎不應該出現問題。但是當我運行它時,「跑步」時間超過20秒,然後它坐在那裏「抓取」了很長時間!由於數據庫性能問題,我必須停止它。
任何人都可以解釋我在哪裏錯了。編碼新手,所以請溫柔。
SELECT
t1.oid,
(SELECT
DATE_FORMAT(t2.date,
'%d/%m/%y') AS 'AVF Date'
FROM
t2
WHERE
t1.oid = t2.fk_oid
AND t2.type = '-25'
AND YEAR(t2.date) BETWEEN 2005 AND 2014
ORDER BY t2.date ASC
LIMIT 1) AS 'AVF Date',
t2.site
FROM
t1
left join t2 on t1.oid=t2.fk_oid
更新 - 好吧,所以我需要如下。我們有一個病人數據庫,這些病人在這個數據庫上記錄有程序。我正在嘗試將患者oid(t1.oid)與他們擁有的FIRST過程(如果它在2005年至2014年之間)以及他們擁有它的位置(分別爲t2.date和t2.site)一起返回,但僅限於程序是特定類型(t2.type ='-25')
所以基本上。所有在2005年至2014年間有AVF的患者以及AVF的「部位」(在本例中爲左臂/右臂等)
我希望這可以使它更清晰。
在此先感謝。
米奇
第一件事,第一:當查詢運行速度慢,總是做就可以了'EXPLAIN'(和結果添加到您的問題,請)。 – watery