mysql優化 - mysql慢查詢copying to tmp table
問題描述
windows server,無論修改my.ini的tmp_table_size,max_heap_table_size到多少,情況都一樣。同樣的表和查詢語句,在本地運行,沒出現慢查詢。
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結果
問題解答
回答1:謝邀,mysql最終處理sql的執行情況在不同環境和版本下可能有所不同,確定本地環境和線上環境是否一致,表的數據量是否一致,其次,題主可以嘗試把or查詢改為in查詢,看看效率是否有提高。
相關文章:
1. 數組按鍵值封裝!2. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題3. java - 阿里的開發手冊中為什么禁用map來作為查詢的接受類?4. docker不顯示端口映射呢?5. javascript - webpack中alias配置中的“@”是什么意思?6. 主題切換問題,用過別人的webapp在后臺切換模板主題后手機端打開網頁就是切換到的主題了7. python - flask _sqlalchemy 能否用中文作為索引條件8. javascript - 為什么創建多行多列的表格最后只有一行內有表格9. javascript - ES6規范下 repeat 函數報錯 Invalid count value10. html5 - 使用echarts中的圖表 一個頁面導入了好幾個js圖表 實現echarts圖表隨著瀏覽器窗口變化而變化時出現了問題
