SQL 年与月分别为两个字段,怎么采用较高效率的查询起止范围

SQL 年与月分别为两个字段,如何采用较高效率的查询起止范围?
表如下:
tableA
year   month    count
2011 1              230
2012   5            1100
2013  8             3000
2013  10           3000
2014  2             1000
2014  9             6000

我需要查询2012年5月到2014年2月之间的记录,我想到的方法是拼接查询,如下:

select * from tableA where CONVERT(date,CONVERT(varchar,year) +'-' + CONVERT(varchar,month) +'-01')
between '2012-5-1' and '2014-2-1' 


但这样查询的效率并不高,我需要高效率的查询方法(使用LINQ TO SQL也可以),因为以后数据量会很大,不知道哪位高人有实现过类似的查询,还请指教,谢谢!
------解决思路----------------------
select * from tableA where year*100+month between 201205 and 201402

------解决思路----------------------
最好还是从存储格式上做文章,把数据以date数据类型存储,减少拼接的开销,可以用between and 来查找一个月的数据
------解决思路----------------------
引用:
表如下:
tableA
year   month    count
2011 1              230
2012   5            1100
2013  8             3000
2013  10           3000
2014  2             1000
2014  9             6000

我需要查询2012年5月到2014年2月之间的记录,我想到的方法是拼接查询,如下:

select * from tableA where CONVERT(date,CONVERT(varchar,year) +'-' + CONVERT(varchar,month) +'-01')
between '2012-5-1' and '2014-2-1' 


但这样查询的效率并不高,我需要高效率的查询方法(使用LINQ TO SQL也可以),因为以后数据量会很大,不知道哪位高人有实现过类似的查询,还请指教,谢谢!


USE tempdb
go
CREATE TABLE tableA([year] INT ,  [month] INT,    [count] INT)

go
--处理方法:
ALTER TABLE tableA ADD YYMM AS RTRIM([year])+RIGHT(100+[month],2) PERSISTED
go
CREATE INDEX IX_tableA_YYMM ON tableA(YYMM);
go
SELECT  *
FROM    tableA
WHERE  [YYMM] BETWEEN '2012-05' AND '2014-02'