簡體   English   中英

MySQL分組按查詢優化

[英]Mysql group by query optimization

我在mysql中有這樣的查詢

select count(*) 
from (
    select count(idCustomer)
    from customer_details 
    where ... 
    group by idCustomer having max(trx_staus) = -1 
) as temp

因此,基本上找到滿足最大交易狀態= -1(其他可以是2,3,4)的條件(一個或兩個)的客戶數量。 但是此查詢在我的本地計算機上大約需要30分鍾,而在高配置服務器(大約20 GB內存和8核處理器)上則需要13秒。 我在桌子上有13紫膠行。 我知道分組並具有最大功能太昂貴。 我該怎么做才能優化此查詢。 有什么建議嗎?

內部查詢必須檢查所有行以確定合計最大值。 如果要對此進行優化,請在客戶表中添加一個包含最大值的計算字段,然后在其上進行選擇。

然后,訣竅是使該字段保持最新:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM