积极答复者
两张大表,合并显示,如何保证效率

问题
-
实现效果:两张大表,合并后,按时间顺序显示
1)环境说明:
数据库 为 SQL SERVER 2008 R2 EXPRESS;
TAB1( fieldA, fieldB, fieldC , time1 ), TAB2( fieldD, fieldE, fieldF, time2 )。
TAB1数据表:
fieldA, fieldB, fieldC , time1
1,2,3,2011-9-11 12:02:05
1,3,5,2011-9-12 15:00:00
TAB2数据表:
fieldD, fieldE, fieldF, time2
3,4,5,2011-9-12 15:01:17
2,3,5,2011-9-12 15:00:28
2)客户端显示效果
3,4,5,2011-9-12 15:01:17
2,3,5,2011-9-12 15:00:28
1,3,5,2011-9-12 15:00:00
1,2,3,2011-9-11 12:02:05
即两张表按照时间合并显示,发现当两张表例如均>500w,合并效率低下,现在使用视图实现两张表的合并,以分页形式返回给客户端结果。发现两张表的合并后的排序相当耗时,不知道有什么解决访法
- 已编辑 Y.P. _ 2011年10月11日 6:45
答案
-
这就是个简单的merge操作,需要在时间上有聚集索引,否则就会在tempdb中排序。
另外啊,EXPRESS版本在某些执行过程上,使用了与其它版本不一样的算法,性能就是要差一些的(不是指这个查询)。
想不想时已是想,不如不想都不想。- 已建议为答案 Molly Chen_Moderator 2011年10月18日 3:41
- 已标记为答案 Molly Chen_Moderator 2011年10月18日 3:41
全部回复
-
这就是个简单的merge操作,需要在时间上有聚集索引,否则就会在tempdb中排序。
另外啊,EXPRESS版本在某些执行过程上,使用了与其它版本不一样的算法,性能就是要差一些的(不是指这个查询)。
想不想时已是想,不如不想都不想。- 已建议为答案 Molly Chen_Moderator 2011年10月18日 3:41
- 已标记为答案 Molly Chen_Moderator 2011年10月18日 3:41
-
你好
一张表 >500w,如果对用户的响应速度快,5秒之内属正常吧,就要采取多个手段了。数据库上要调整,程序也要调整。不知道你的数据增量是多少。
一时也说不过来……
1+1=The World >>> BLOG=http://blog.csdn.net/liuning800203 >>> Email=liuning800203@hotmail.com
- 已编辑 0_1_TheWorld 2011年10月16日 16:08 补充