毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 数据库 >> 正文

sqlserver多库多表联合查询效率优化问题

更新时间:2013-12-9:  来源:毕业论文

sqlserver多库多表联合查询效率优化问题

题目如下:
表Table1结构
c_id,orderNo,c3,c4,c5

有1000个这样的表(Table1...Table1000,每个表大概100多万笔记录),c_id主键,orderNo不唯一(有建立非聚簇索引)

也就是这1000个表相当于一个大数据,我要依据orderNo查出我想要的数据(查出的结果数据不超过500笔)

有种多库多表联合起来一起查的意思,怎么写个存储过程作查询比较快?

我现在400个表(数据量大概在4亿左右)按orderNo查询的话大概要15分钟左右。

用的是
SELECT orderNo,c3,c4,c5 FROM Table1 WHERE orderNo= 'xxxxxxxx' UNION
SELECT orderNo,c3,c4,c5 FROM Table2 WHERE orderNo= 'xxxxxxxx' UNION
...

数据库方面的高手有没有什么好的建议、?? 或给个示例代码

之前也有人提出类似的问题。

你这么 union ,把400多个表union起来,速度肯定是慢的。

能不能考虑把原来的那么多的表合并成一个表呢,建个分区表,按照某个字段分区,这样至少你不用写400行的代码来union了

SELECT orderNo,c3,c4,c5 FROM Table1 WHERE orderNo= 'xxxxxxxx'
这个语句作为触发器放在表上,所有选择出来的数据放入目标表格,以后的操作都在目标表格上进行。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。