在一張單表5000W數據上進行數據查詢時傳入兩個單列索引條件,進行組合索引查詢時,如果最后有order by id排序,與去除該排序,性能差距接近兩個數量級
結論:在使用列的默認排序時,不應該再order by該列
順便再記錄一下遇到的其他SQL性能問題:
1, limit a,b 在a值過大時,也會導致性能嚴重下降,解決方案是獲取到一批數據之后拿到最大的ID,然后在查詢條件中加入>該ID 這樣只需要limit一次獲取的數量即可
2,條件更新時,如果數據量過大,先使用該條件進行查詢得到要修改的列主鍵,再以主鍵為條件進行更新條件能提高性能