目前做商城系統二次重構,遇到原系統遺留訂單導出問題,因涉及多表查詢操作,原代碼設計者對mysql中加了N多的索引,但是查詢的時候a表根本沒有通過索引關聯b表,導致索引失效,檢索全表。先放出結論:關聯字段類型不一致,導致索引失效。
兩張表的數據量超過10萬條,僅僅查詢6000條數據,需要的時間接近4分鍾。這對使用者來說,體驗極差,更別說是1個月1個季度乃至半年的數據量導出。
使用 查看表結構,SHOW FULL COLUMNS FROM XXX;顯示
修改語句
ALTER TABLE XXX CHANGE out_trade_no out_trade_no VARCHAR(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
兩者統一之后查詢結果
寫在最后,如果能夠讓你的效率提升1000倍,何不給個贊再走呢。^ - ^ !
原文參考:https://blog.csdn.net/weixin_39533410/article/details/106859514