1 背景
最近项目上要求开发一个查询接口,刚开发完成后,测试环境进行自测发现查询效率非常慢,通过打log计算得到SQL执行时间3041ms,实在太慢了。下面简单记录下本次慢SQL优化的过程。
2 相关数据
- 新增客户表(其它无关字段省略)
create table new_customer_info(
id bigint(32) not null auto_increment comment '唯一id' ,
ent_name varchar(255) default null comment '企业名称',
area_name varchar(50) defalut null comment '区域',
register_date datetime default null comment '注册时间',
phone_number varchar(50) defalut null comment '手机号',
del_flag char(1) default '0' comment '删除标志,0:正常,1:删除',
sms_flag char(1) defalut '0' comment '获取手机号标志,0:已获取,1:未获取',
will_status char(1) default null comment '合作意向,0:无,1:未联系上,2:有合作意向',
...
primary key (id)
);
- 区域表(其它无关字段省略)
create table area_data(
area_code varchar(50) default null comment '地区代码',
area_name varchar(100) default null comment '地区名称',
parent_name varchar(100) default null comment '上级地区名称',
...
key idx_area_code (area_code)
);
- 字典数据表(其它无关字段省略)
create table sys_dict_data(
dict_label varchar(