多表提高查询速度?

faucet 2003-06-24 07:57:32
有1库,含40表,表结构完全相同,
每个表放一个分类的数据
每个表同时包含这个分类的field,
实际可以放入一个表中,但是单表查询速度较慢
而用户大多数情况下是查询一个分类的,故分为多表

但是用户也有用查询多个分类的时候,
现用union,速度极慢
不知道这种情况什么方式解决较好?
...全文
53 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
faucet 2003-06-25
  • 打赏
  • 举报
回复
o,这招用过,但是不知道叫分区视图而已,:-P

实际我的后台是firebird,用这个我试了没有作用,除了sql写法变了,效率
一点也没高.interbase版没人呀,只好跑这里了,sigh
DoDone 2003-06-25
  • 打赏
  • 举报
回复
分区视图
分区视图是通过对成员表使用 UNION ALL 所定义的视图,这些成员表的结构相同,但作为多个表分别存储在同一个 SQL Server 中,或存储在称为联合 SQL Server 2000 服务器的自主 SQL Server 2000 服务器组中。

例如,如果使 Customers 表数据分布在分别位于三个服务器上的三个成员表中(Customers_33 在 Server1 上,Customers_66 在 Server2 上,Customers_99 在 Server3 上),将以下面的方法在 Server1 上定义分区视图:

--Partitioned view as defined on Server1
CREATE VIEW Customers
AS
--Select from local member table
SELECT *
FROM CompanyData.dbo.Customers_33
UNION ALL
--Select from member table on Server2
SELECT *
FROM Server2.CompanyData.dbo.Customers_66
UNION ALL
--Select from mmeber table on Server3
SELECT *
FROM Server3.CompanyData.dbo.Customers_99

一般情况下,如果视图为下列格式,则称其为分区视图:

SELECT <select_list1>
FROM T1
UNION ALL
SELECT <select_list2>
FROM T2
UNION ALL
...
SELECT <select_listn>
FROM Tn

faucet 2003-06-25
  • 打赏
  • 举报
回复
简单说明一下啦?
z5wjz 2003-06-24
  • 打赏
  • 举报
回复
用分区视图

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧