mysql 字符集造成的性能难题
发布时间:2022-06-29 14:09:50 所属栏目:站长百科 来源:互联网
导读:简单的查询,返回同样的,用charge_id去关联,只要0.5s,但如果用order_id要18s! 什么原因? 用order_id时,执行计划是用了Using join buffer (Block Nested Loop);原因查明:把 order_forInit里的order_id字符集是utf8,而 order_item_forInit里的order_i
|
简单的查询,返回同样的,用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) WHERE -- a.order_id = c.order_id a.charge_id = c.charge_id AND c.product_id = d. product_id; (编辑:网站开发网_马鞍山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐

