大家好,我原来的一条语句:
select * from [T_user]
where classID='7066cb2fbb327377' and classNumID='5e08f3ac9efe64a1'
And ( phoneNum='310--' or phoneNum='-100-'
or phoneNum='--001' or phoneNum='31---'
or phoneNum='---01' or phoneNum='3----'
or phoneNum='-1---' or phoneNum='--0--'
or phoneNum='---0-' or phoneNum='----1' )
但是数据多了以后速度非常慢,请问怎么优化呀?
select * from [T_user]
where classID='7066cb2fbb327377' and classNumID='5e08f3ac9efe64a1'
And ( phoneNum='310--' or phoneNum='-100-'
or phoneNum='--001' or phoneNum='31---'
or phoneNum='---01' or phoneNum='3----'
or phoneNum='-1---' or phoneNum='--0--'
or phoneNum='---0-' or phoneNum='----1' )
但是数据多了以后速度非常慢,请问怎么优化呀?
或者 phoneNum的所有需要的值造个表,然后连接两表查询
写成UNION ALL
还是 IN?
都是差不多的
or phoneNum='--001' or phoneNum='31---'
or phoneNum='---01' or phoneNum='3----'
or phoneNum='-1---' or phoneNum='--0--'
or phoneNum='---0-' or phoneNum='----1'
归为1类,然后只对此字段进行统计即可
或用union all
在加索引(classID,classNumID)