1
我有兩個單獨的查詢:子查詢如何複製結果?它是否發送結果中的每一行相同的請求?
SELECT `ad_general`.`id`
FROM (`ad_general`)
WHERE `ad_general`.`city` = '708'
ORDER BY `ad_general`.`id` desc
LIMIT 15
SELECT count(`ad_general`.`id`) as count
FROM (`ad_general`)
WHERE `city` = '708'
我已經合併爲避免發送多個請求到MySQL的性能增益結果這兩個查詢。
SELECT `ad_general`.`id`, (
SELECT count(`ad_general`.`id`) as count
FROM (`ad_general`)
WHERE `city` = 708) AS count,
FROM (`ad_general`)
WHERE `ad_general`.`city` = '708'
ORDER BY `ad_general`.`id` desc
LIMIT 15
在第一種方法中的「數」欄只有一個行,顯然有對數列只有一個請求。
但是在組合查詢「count」列中有15個相同的行。
我想知道mysql如何複製該子查詢中的「count」列。如果它爲每一行發送相同的計數請求(在這種情況下爲15次),在這種情況下使用組合查詢並不明智。
大多數人建議避免在innodb計數查詢。 – motto 2012-01-14 08:17:39