mysql 字符集造成的效能問題
簡單的查詢,返回同樣的,用charge_id去關聯,只要0.5s,但如果用order_id要18s! 什麼原因?
用order_id時,執行計劃是用了Using join buffer (Block Nested Loop);原因查明:把 order_forInit裡的order_id字符集是utf8,而 order_item_forInit裡的order_id字符集是utf8mb4, 不同的字符集造成兩個做join時,不能用上索引,會出現“Using join buffer (Block Nested Loop) ”。把 order_forInit裡的order_id字符集改成utf8mb4,就沒效能問題了!! 不會出現Using join buffer (Block Nested Loop)
explain
select count(*) from
order_forInit a,
order_item_forInit c,
product d
WHERE
-- a.order_id = c.order_id
a.charge_id = c.charge_id
AND c.product_id = d. product_id;
附錄:
mysql字符集 utf8 和utf8mb4 的區別: https://blog.csdn.net/qq_37054881/article/details/90023611
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14377/viewspace-2688564/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Dynamic Parameters造成的linked server效能問題Server
- 請教mysql中字符集的問題MySql
- SGA設定過大造成的系統效能問題
- SQL*Net more data to client 等待事件造成的效能問題SQLclient事件
- 淺談MySQL備份字符集的問題MySql
- PHP和mySQL的字符集編碼問題(1)PHPMySql
- recyclebin造成的問題分析
- mysql 大事物commit慢造成全庫堵塞問題MySqlMIT
- MySQL 字符集與亂碼與collation設定的問題?MySql
- mysql 5 資料庫匯出與字符集的問題。MySql資料庫
- Oracle 指定別名"A" or"a"造成的問題Oracle
- 你知道MySQL的Limit有效能問題嗎MySqlMIT
- MySQL8.0 view導致的效能問題MySqlView
- 一次容器MySQL的效能問題排查MySql
- oracle字符集問題Oracle
- 關於mysql查詢字符集不匹配問題的解決方法MySql
- 關於Oracle字符集的問題Oracle
- 為什麼忘記commit也會造成select查詢的效能問題MIT
- 字符集合轉換問題
- Linux字符集問題Linux
- MYSQL 5.7 升級 8.0 後的 由於字符集導致的大問題 ?MySql
- linux字符集的一個問題Linux
- oracle imp字符集問題的解決Oracle
- mysql的字符集MySql
- Oracle字符集問題總結Oracle
- MySQL問題定位-效能優化之我見MySql優化
- 歸檔目錄空間不足造成的問題
- 【轉載】為什麼忘記commit也會造成select查詢的效能問題MIT
- 字符集問題的初步探討(七)-字符集更改的內部操作
- MYSQL字符集問題1267 Illegal mix of collations (utf8_gMySql
- MYSQL兩個資料庫字符集保持一致問題MySql資料庫
- Oracle資料庫字符集問題Oracle資料庫
- CSSCAN使用說明[字符集問題]CSS
- FrameLayout裡有CardView造成的顯示順序問題View
- MySQL字符集MySql
- 2.15Python中的字符集問題Python
- mysql的中文問題MySql
- 雲吞鋪子:RDS for MySQL CPU效能問題分析2MySql