sql server性能问题
peaty 2006-03-10 10:53:10 select top 1000
a.resume_id,
b.user_name,b.sex,datediff(yy,b.birthday,getdate()) age,
c.degree_name,b.work_year,
a.station,a.refresh_time
from t_resume a --大表
,t_person b --大表
,c_degree c --小码表
where a.person_id=b.person_id
and b.degree_id*=c.degree_id
and datediff(yy,b.birthday,getdate())>=18
and datediff(yy,b.birthday,getdate())<=60
and datediff(dd,a.refresh_time,getdate())<=30
and (b.open_mode='1' or
(b.open_mode='2' and not exists
(select * from t_blench_com_key
where person_id=a.person_id and '某某科技有限公司' like '%'+com_keyword+'%') ))
order by refresh_time desc
t_resume ,t_person 是几十万记录
t_resume_jobsort_exp 对应每个resume_id几条记录,带索引resume_id
t_person_area_exp 对应每个person_id几条记录,带索引person_id
t_blench_com_key 对应每个person_id几条记录,带索引person_id
帮我看一下sql有无问题,是否可以优化 :)
我现在测试起来 速度有点慢,现在的选择是 如果 实在有性能瓶颈,只能把t_person的主要字段 扔到 t_resume里,不过这样
就牺牲了结构的标准化...,可能会有数据冗余(目前还是1对1,以后可能一对多)
------
上线后估计每天有十几万的pv量