查询语句:
select * from stroed110101 where id='98760987234' union all
select * from stroed110102 where id='98760987234' union all
select * from stroed110103 where id='98760987234' union all
select * from stroed110104 where id='98760987234' union all
select * from stroed110105 where id='98760987234' union all
select * from stroed110106 where id='98760987234' union all
select * from stroed110107 where id='98760987234' union all
.
.
.
select * from stroed110131 where id='98760987234'
因为各地库存表中记录很多,无法全部保存在在SQL SERVER中的一个表中(总记录数有2000万左右)
因此需要对一种产品进行多表查找,但效率很低,该怎么写这样的SQL来解决实际问题?
select * from stroed110101 where id='98760987234' union all
select * from stroed110102 where id='98760987234' union all
select * from stroed110103 where id='98760987234' union all
select * from stroed110104 where id='98760987234' union all
select * from stroed110105 where id='98760987234' union all
select * from stroed110106 where id='98760987234' union all
select * from stroed110107 where id='98760987234' union all
.
.
.
select * from stroed110131 where id='98760987234'
因为各地库存表中记录很多,无法全部保存在在SQL SERVER中的一个表中(总记录数有2000万左右)
因此需要对一种产品进行多表查找,但效率很低,该怎么写这样的SQL来解决实际问题?
解决方案 »
- 关于数据库表结构的更新
- 现在有:学生表(学号,姓名,年龄,性别),课程表(课程号,课程名,学分),选课表(学号,课程号,成绩).假设已在课程表在增加一列STU_NUM,用于统计当前选修该门课的学生人数.创建INSERT触发器,当选修该课程的学生人数增加时,该课程所对应的STU_N
- 现统计每个人员的工资等级,请问SQL语句怎么写啊?谢谢
- 一个简单语句,用SELECT筛选出一列递增数字中的最小缺少值的语句,高分请教!
- 我想用存储过程产生六位的顺序号,从000001开始,再是000002,就是商城的定单号,而且要保证不重复。。怎么写??谢谢
- bulk insert 的问题
- 怎么判断存储过程是否执行
- Transaction cannot start while in firehose 问题
- >>>>>>>>>一个我觉得很难,很有挑战性的数据库查询....!!!
- A good sp form MSDN (SP_LOCK2)
- 如何根据表中的一个日期型字段查询出某年某月的数据
- 满足某个条件才INSERT INTO,应该怎么写?
然后将结果写入磁盘文件。
也就是说
你建立这个实时表本身就需要2000万次的磁盘I/O,慢是必然的;
能否不要建立这个实时表;
水平分区视图组合方案下面这段摘自联机手册,与你描述的问题大致一致:-------------------------------
组合分区数据
Transact-SQL UNION 集合运算符可在视图内使用,以将来自不同表的两个或多个查询结果组合成单一的结果集。这在用户看来是一个单独的表,称为分区视图。例如,如果一个表含有华盛顿的销售数据,另一个表含有加利福尼亚的销售数据,即可从 UNION 创建这两个表的视图。该视图代表了这两个区域的销售数据。使用分区视图时,首先创建几个相同的表,指定一个约束以决定可在各个表中添加的数据范围。视图即使用这些基表创建。当查询该视图时,SQL Server 自动决定查询所影响的表,并仅引用这些表。例如,如果一个查询指定只需要华盛顿州的销售数据,则 SQL Server 只读取含有华盛顿销售数据的表,而并不访问其余的表。
-------------------------------请参考:联机手册
-- 优化数据库性能 | 数据库设计 | 物理数据库设计 | 分区