求优化。
7 个解决方案
#1
索引如何,SQL语句是什么,要达到什么目的
#2
索引基本都建立了
select distinct a.card_no from card_info a
left join cardno g on a.card_no=g.cardno
left join t_fin_coldue t on t.c_ply_no = g.polno
where a.status = '680203' and t.c_edr_no=''
现在是数据量太大 根本无法查询出结果,进入当机状态。
select distinct a.card_no from card_info a
left join cardno g on a.card_no=g.cardno
left join t_fin_coldue t on t.c_ply_no = g.polno
where a.status = '680203' and t.c_edr_no=''
现在是数据量太大 根本无法查询出结果,进入当机状态。
#3
在连接字段上建立过索引没有?为什么用LEFT JOIN,用INNER JOIN 不行?
#4
inner join 效果在这种大数据上 区别不大, 连接字段没有单独建立索引, 是否需要为连接字段单独建立索引?
#5
单独建立索引测试一下
#6
语句改为如下,你的查询用不上LEFT JOIN。
另外先创建如下索引。
create index x1 on card_info(status)
create index x3 on card_info(card_no)
create index x2 on cardno(cardno)
create index x5 on t_fin_coldue(c_ply_no)
create index x4 on t_fin_coldue(c_edr_no)
更详细的优化还要看你的数据分布。
比如 card_info 表中符合 status = '680203'的记录有多少条大概?
t_fin_coldue表中符合c_edr_no='' 的记录有多少条。
各表中主键是什么。
另外先创建如下索引。
create index x1 on card_info(status)
create index x3 on card_info(card_no)
create index x2 on cardno(cardno)
create index x5 on t_fin_coldue(c_ply_no)
create index x4 on t_fin_coldue(c_edr_no)
更详细的优化还要看你的数据分布。
比如 card_info 表中符合 status = '680203'的记录有多少条大概?
t_fin_coldue表中符合c_edr_no='' 的记录有多少条。
各表中主键是什么。
#7
还是不行,效率依旧没提升
#1
索引如何,SQL语句是什么,要达到什么目的
#2
索引基本都建立了
select distinct a.card_no from card_info a
left join cardno g on a.card_no=g.cardno
left join t_fin_coldue t on t.c_ply_no = g.polno
where a.status = '680203' and t.c_edr_no=''
现在是数据量太大 根本无法查询出结果,进入当机状态。
select distinct a.card_no from card_info a
left join cardno g on a.card_no=g.cardno
left join t_fin_coldue t on t.c_ply_no = g.polno
where a.status = '680203' and t.c_edr_no=''
现在是数据量太大 根本无法查询出结果,进入当机状态。
#3
在连接字段上建立过索引没有?为什么用LEFT JOIN,用INNER JOIN 不行?
#4
inner join 效果在这种大数据上 区别不大, 连接字段没有单独建立索引, 是否需要为连接字段单独建立索引?
#5
单独建立索引测试一下
#6
语句改为如下,你的查询用不上LEFT JOIN。
另外先创建如下索引。
create index x1 on card_info(status)
create index x3 on card_info(card_no)
create index x2 on cardno(cardno)
create index x5 on t_fin_coldue(c_ply_no)
create index x4 on t_fin_coldue(c_edr_no)
更详细的优化还要看你的数据分布。
比如 card_info 表中符合 status = '680203'的记录有多少条大概?
t_fin_coldue表中符合c_edr_no='' 的记录有多少条。
各表中主键是什么。
另外先创建如下索引。
create index x1 on card_info(status)
create index x3 on card_info(card_no)
create index x2 on cardno(cardno)
create index x5 on t_fin_coldue(c_ply_no)
create index x4 on t_fin_coldue(c_edr_no)
更详细的优化还要看你的数据分布。
比如 card_info 表中符合 status = '680203'的记录有多少条大概?
t_fin_coldue表中符合c_edr_no='' 的记录有多少条。
各表中主键是什么。
#7
还是不行,效率依旧没提升