Re: [請益] 用PHP做運算 還是用MYSQL做運算 ?
http://www.mysqlperformanceblog.com/2010/10/25/mysql-limitations-part-3-subqueries/
補一下 IN (subquery) 的效能問題,這是 MySQL issue。
你以為 SELECT * FROM a WHERE col IN (SELECT ...) 會先跑 (SELECT ...) 裡面
的東西,然後再給 IN 用。
但 MySQL 一開始就會把 (SELECT ...) 裡面的東西改寫成 JOIN 語法,而這在某些
情況下會導致效能變差... (因為你已經預期 SELECT 出來的東西不多)
這剛好是個把計算搬到 PHP 端處理的範例... (對 MySQL bug workaround)
※ 引述《DarkKiller (System hacked)》之銘言:
: 然後這邊有一個 SQL issue (maybe MySQL only),如果你把 subquery 拆出來自己做
: 就會很快:
: SELECT SQL_NO_CACHE question_id, gender, COUNT(*)
: FROM answer
: WHERE question_id IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
: GROUP BY question_id, gender;
:
: 速度是:
: 40 rows in set (1.09 sec)
:
: 這樣能解答你的問題嗎?XDDD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.242.135.97
→
11/05 19:07, , 1F
11/05 19:07, 1F
推
11/06 07:38, , 2F
11/06 07:38, 2F
推
11/06 17:15, , 3F
11/06 17:15, 3F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章