100分 大家都来讨论讨论sql语句优化的问题
我有一个短程序如下:
select * from (
select arg.bld_grp_desc,g.group_name,p.* from tb_person p,tb_group g,tb_abo_rh_grp arg
where g.group_id=p.group_id
and arg.bld_grp_id=p.bld_grp_id
and p.id_card like @idcard18
union
select arg.bld_grp_desc,g.group_name,p.* from tb_person p,tb_group g,tb_abo_rh_grp arg
where g.group_id=p.group_id
and arg.bld_grp_id=p.bld_grp_id
and p.id_card like @idcard15
)qqq
order by bld_grp_desc,name
我在id_card字符串类型,建了索引,idcard15 和idcard18分别为15位和18位身份证号,表内大约有35万条数据,大部分情况下可在3秒内查出结果,有百分之2-3的机会查询会超时(大于)3分钟,大家帮我看看语句到底有什么问题