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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 字符集與亂碼與collation設定的問題?MySql
- 關於mysql查詢字符集不匹配問題的解決方法MySql
- MYSQL字符集問題1267 Illegal mix of collations (utf8_gMySql
- 你知道MySQL的Limit有效能問題嗎MySqlMIT
- 一次容器MySQL的效能問題排查MySql
- MySQL8.0 view導致的效能問題MySqlView
- MYSQL 5.7 升級 8.0 後的 由於字符集導致的大問題 ?MySql
- MySQL字符集MySql
- MySQL問題定位-效能優化之我見MySql優化
- 聊一聊MySQL的字符集MySql
- FrameLayout裡有CardView造成的顯示順序問題View
- mysql 遇到的問題MySql
- MySQL複製效能優化和常見問題分析MySql優化
- 雲吞鋪子:RDS for MySQL CPU效能問題分析3MySql
- 雲吞鋪子:RDS for MySQL CPU效能問題分析2MySql
- 遷移ORACLE資料到MogDB/openGauss時的字符集問題Oracle
- mysql字符集說明MySql
- Python原始檔一行字元過長造成的問題Python字元
- FastJsonHttpMessageConverter造成返回結果多次序列化的問題ASTJSONHTTP
- Java解決遞迴造成的堆疊溢位問題Java遞迴
- 集合效能問題
- QtWebEngine效能問題QTWeb
- MOGDB/openGauss與PostgreSQL關於GBK字符集問題SQL
- MOGDB/openGauss與PostgreSQL關於GDK字符集問題SQL
- MySQL 問題MySql
- 關於 Puerts 的效能問題
- PostgreSQL 字符集烏龍導致資料查詢排序的問題,與 MySQL 穩定 "PG不穩定"排序MySql
- mysql字符集和字元排序MySql字元排序
- Vue 重複使用同一元件造成的問題Vue元件
- 【故障公告】取代 memcached 的 redis 出現問題造成網站故障Redis網站
- MySQL檢視和修改字符集的方法MySql
- 兩個小問題深入淺出List的效能問題
- v-if與v-show造成部分元素丟失的問題——v-if複用元素問題
- Oracle修改字符集前如何找出可能出現問題的資料?Oracle
- mysql 1130 問題MySql
- 關於開發Cesium造成的電腦風扇狂飆的問題
- 由於網路延遲造成邏輯鎖過期的問題
- 解決stderr重定向到stdout造成的輸出亂序問題