數據庫有這么一張表格User以及一張用戶的日志表User_log想要根據日志查詢用戶于是有了這么一個sqlSELECT * FROM (SELECT * FROM User_log Order By create_time LIMIT 0, 50) JOIN User ONUser.user_id=User_log.user_id這個sql的思路是由于User表很大,所以直接子查詢先查出50條log然后連表查到用戶信息,但是結果發(fā)現效率有問題,explain之后發(fā)現mysql的執(zhí)行順序沒有像我想象的一樣先查出50條再join而是先join了再去查,導致User表被遍歷了一遍。請問這是為什么?PS:1.mysql版本5.6.162.同樣的sql在測試環(huán)境上不會有這種情況,測試環(huán)境mysql版本5.6.333.把log表換成其他的有些表就不會出現以上的問題,但是有一部分表就是會有問題
添加回答
舉報
0/150
提交
取消