,所以我有這個疑問首先查詢採取更多然後在5秒鐘
SELECT a.`title`,a.`id`,a.`numvol`,a.`numepi`,a.`release_date`,
(SELECT COUNT(id) FROM `Release` r WHERE r.`article_id`=a.`id`) AS `num_rows`,
(SELECT COUNT(id) FROM `Article_views` av WHERE av.`article_id`=a.`id`) AS `num_rows2`
FROM `Article` a WHERE a.`type` = 'ani' ORDER BY a.`title` ASC
第一負載需要5秒,如果我做了刷新將需要大約0.001秒,是有辦法制服加載時間?
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY a ALL NULL NULL NULL NULL 567 Using where; Using filesort
3 DEPENDENT SUBQUERY av ALL NULL NULL NULL NULL 5301 Using where
2 DEPENDENT SUBQUERY r ALL NULL NULL NULL NULL 11717 Using where
我試圖做它加入,但它並沒有在所有的工作,所以我放棄了這種方式...
解決方案
使用barmar查詢。更好的方式:)(和索引 - , - ')
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 536 Using temporary; Using filesort
1 PRIMARY a eq_ref PRIMARY PRIMARY 4 r.art.. 1 Using where
1 PRIMARY <derived3> ALL NULL NULL NULL NULL 574 Using where; Using join buffer
3 DERIVED Article_views index NULL article_id 4 NULL 5301 Using index
2 DERIVED Release index NULL article_id 4 NULL 11717 Using index
您的時間謝謝你們和解決方案:)我想我需要重做這老項目AHAH :)
溫暖MySQL的緩存 –
暖????這樣的小桌子真的需要那麼多時間嗎? – cloud1250000
您的MyISAM或Innodb類型的表?我問,因爲它很重要 – mvp