MySQL 表字段排序规则对表连接查询的影响
发布时间:2022-10-10 13:03:57 所属栏目:MySql教程 来源:
导读: 记一次测试环境页面加载缓慢的原因排查。
SELECT
oo.org_name,
dd.distributor_org_id,
dd.auto_distribute_flag
FROM
distribute_distributor_info dd
SELECT
oo.org_name,
dd.distributor_org_id,
dd.auto_distribute_flag
FROM
distribute_distributor_info dd
|
记一次测试环境页面加载缓慢的原因排查。 SELECT oo.org_name, dd.distributor_org_id, dd.auto_distribute_flag FROM distribute_distributor_info dd LEFT JOIN org_organization_info oo ON dd.distributor_org_id = oo.org_id AND oo.del_flag = 0 AND dd.del_flag = 0 WHERE dd.supplier_org_id = '4B60CCB94D547D14E050080A0D0536B1' mysql排序sort_MySQL 排序_mysql 随机排序 AND dd.customer_org_id = '0D49B1E2D212024AE050A8C00A01E580' ORDER BY dd.add_time DESC 该 SQL 实际非常简单,测试环境数据量也极少,只有123条记录,可是SQL执行时间却花费了15s 通过 EXPLAIN 分析SQL执行,发现索引效率也很高MySQL 排序,扫描的记录数也就是123条 百思不得其解,经过各种不断的检查,发现机构表中 org_id 字段的排序规则是 utf8_general_ci,而 另一张表中 distributor_org_id 字段的排序规则是 utf8_bin,当两者作为表连接条件字段时,由于排序规则的差异导致查询效率极低,将distributor_org_id 字段的排序规则改为 utf8_general_ci 后,查询时间只需要 0.024s 恢复正常 云栖社区有篇文章讲述到了类似的问题 RDS for MySQL 字符序(collation)引发的性能问题 (编辑:天瑞地安资讯网_保定站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐

