首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问一条SQL优化

2012-03-04 
请教一条SQL优化大家好,我原来的一条语句:select* from [T_user]where classID7066cb2fbb327377 and cl

请教一条SQL优化
大家好,我原来的一条语句:
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' ) 
但是数据多了以后速度非常慢,请问怎么优化呀?

[解决办法]
没啥好优化的,撑死把or改成in
或者 phoneNum的所有需要的值造个表,然后连接两表查询
[解决办法]
(classID,classNumID)增加索引

[解决办法]
加索引吧
[解决办法]
晕 全部是OR 怎么搞?
写成UNION ALL
还是 IN?
都是差不多的
[解决办法]
改变设计吧:加个字段,说明该条记录属于哪类,比如你上面的 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'
归为1类,然后只对此字段进行统计即可
[解决办法]
phoneNum in (..........)
或用union all
在加索引(classID,classNumID)
[解决办法]
我也觉得没什么好优化的~

热点排行