股票数据,没张表存放单个股票数据,其结构相同。
2000多张表。
索引字段date,开盘价字段[open],收盘价字段[close]
假设我要取date从2014-01-01 到2014-02-01的所有表的开盘价数据,
怎样简洁快速的查询出来呢?
用循环估计疯了。
------解决方案--------------------
用游标,逐个表读取,插入临时表..
------解决方案--------------------
试图,
create view v_all
as
select * from table1
union all
select * from table2
...
2000 多个表, 性能上肯定会差点
------解决方案--------------------
目前没有提供什么“理想”的方案。
1、2005及以上版本可以用分区表功能把所有表整合到一个表中,但是合并代价还是有点高,并且可能引起前端程序的变动。
2、如果分区表不能用,首选把所有表union all到一个视图,表数据相对稳定的话建成索引视图,不行的话就用普通视图,不过性能非常差。
3、还有一个方案,根据查询条件,和元数据,动态拼接字符串。
------解决方案--------------------
设计有问题,后期查询就只能麻烦喽
建视图也是可行办法 ,写个循环合并数据也行