首頁  >  問答  >  主體

mysql最佳化 - mysql 多表聯合查詢中有order by和sum的情況下,索引如何設計?

如果目前有一個sql語句需要用到兩個表聯合查詢並且要使用到group by和order by的話,如何設計索引比較好呢?
例子如下:

SELECT
    a.*, b.sum (money)
FROM
    a
JOIN b ON a.id = b.u_id
GROUP BY
    b. STATUS
ORDER BY
    b.time
    

這個例子的話,既有a,b表的聯合查詢,又有對b表字段的sum()函數,還有對查詢結果的分組和order by排序,如何設計索引來優化這樣的查詢呢,謝謝大家啦.

为情所困为情所困2682 天前1405

全部回覆(1)我來回復

  • 高洛峰

    高洛峰2017-06-15 09:23:07

    這句查詢好像沒實際意義啊。如果單查b表,你會怎麼寫sql呢?我能寫出的只有:

    SELECT SUM(money), status GROUP BY status
    

    由於聚合的關係,u_id、time等列的內容都是不確定的,所以不知道你拿它們做排序、關聯的目的是啥。

    回覆
    0
  • 取消回覆