首先,对employeeid和department字段使用like不合适,在查询中应该尽可能的使用输入参数精确,有时甚至可以让用户从程序界面中选择现成的部门.employeeid从道理上讲应该是具体值吧,用like对于10万条记录的表在性能上是重大损失.
建立department,employee,workdatetype的复合索引
where子句改为:
(department=@deprt) and (employeeid=@employeeid) and (workdatetype=0)
因为索引本身已经排序,order by子句已没有意义