mysql優(yōu)化 - mysql慢查詢copying to tmp table
問(wèn)題描述
windows server,無(wú)論修改my.ini的tmp_table_size,max_heap_table_size到多少,情況都一樣。同樣的表和查詢語(yǔ)句,在本地運(yùn)行,沒(méi)出現(xiàn)慢查詢。
SELECT g.goods_id, g.goods_name, g.shop_price, g.goods_thumb, SUM(og.goods_number) AS goods_numberFROM `chinaetm`.`ecs_goods` AS g, `chinaetm`.`ecs_order_info` AS o, `chinaetm`.`ecs_order_goods` AS ogWHERE g.is_on_sale = 1AND g.is_alone_sale = 1AND g.is_delete = 0AND ( g.cat_id IN (’21’,’75’,’206’,’207’,’208’,’209’,’210’,’211’,’212’ ) OR g.goods_id IN (’’)) AND og.order_id = o.order_idAND og.goods_id = g.goods_idAND ( o.order_status = ’1’ OR o.order_status = ’5’)AND ( o.pay_status = ’2’ OR o.pay_status = ’1’)AND ( o.shipping_status = ’1’ OR o.shipping_status = ’2’)GROUP BY g.goods_idORDER BY goods_number DESC, g.goods_id DESC
explain結(jié)果
問(wèn)題解答
回答1:謝邀,mysql最終處理sql的執(zhí)行情況在不同環(huán)境和版本下可能有所不同,確定本地環(huán)境和線上環(huán)境是否一致,表的數(shù)據(jù)量是否一致,其次,題主可以嘗試把or查詢改為in查詢,看看效率是否有提高。
相關(guān)文章:
1. 獲取上次登錄ip的原理是啥?2. 多種方式登陸的的用戶數(shù)據(jù)表設(shè)計(jì)3. 沒(méi)有輸出結(jié)果,也沒(méi)有報(bào)錯(cuò)信息4. phpstudy v8打開(kāi)數(shù)據(jù)庫(kù)就出錯(cuò),而phpstudy 2018不會(huì)5. 為什么點(diǎn)擊登陸沒(méi)反應(yīng)6. 在視圖里面寫(xiě)php原生標(biāo)簽不是要迫不得已的情況才寫(xiě)嗎7. fetch_field_direct()報(bào)錯(cuò)8. 為什么說(shuō)非對(duì)象調(diào)用成員函數(shù)fetch()9. 求救一下,用新版的phpstudy,數(shù)據(jù)庫(kù)過(guò)段時(shí)間會(huì)消失是什么情況?10. 請(qǐng)問(wèn)下tp6框架的緩存在哪里設(shè)置,或者說(shuō)關(guān)閉?
