教你在SQL Server 2000数据库中使用分区(2)
作者:Alizze 发布时间:2008-11-25 11:55:00
Microsoft 建议的做法是定义主键,并将事实表设计为本地(单个服务器上)的分区联合视图。大多数情况下,该定义会产生可更新的分区视图,但数据仓库维护应用程序应设计为直接将大多数数据批量加载至成员表(而不是通过视图进行)。
语法示例:
以下代码示例用来说明定义成员表和联合视图以及将数据插入视图的语法:
创建 1999 年事实表:
CREATE TABLE [dbo].[sales_fact_19990101] (
[date_key] [int] NOT NULL
CHECK ([date_key] BETWEEN 19990101 AND 19991231),
[product_key] [int] NOT NULL ,
[customer_key] [int] NOT NULL ,
[promotion_key] [int] NOT NULL ,
[store_key] [int] NOT NULL ,
[store_sales] [money] NULL ,
[store_cost] [money] NULL ,
[unit_sales] [float] NULL
)
ALTER TABLE [sales_fact_19990101]
ADD PRIMARY KEY (
[date_key], [product_key], [customer_key], [promotion_key], [store_key])
创建 2000 年事实表:
CREATE TABLE [dbo].[sales_fact_20000101] (
[date_key] [int] NOT NULL
CHECK ([date_key] BETWEEN 20000101 AND 20001231),
[product_key] [int] NOT NULL ,
[customer_key] [int] NOT NULL ,
[promotion_key] [int] NOT NULL ,
[store_key] [int] NOT NULL ,
[store_sales] [money] NULL ,
[store_cost] [money] NULL ,
[unit_sales] [float] NULL
)
ALTER TABLE [sales_fact_20000101]
ADD PRIMARY KEY (
[date_key], [product_key], [customer_key], [promotion_key], [store_key])
创建 UNION ALL 视图:
CREATE VIEW [dbo].[sales_fact]
AS
SELECT * FROM [dbo].[sales_fact_19990101]
UNION ALL
SELECT * FROM [dbo].[sales_fact_20000101]
现在插入几行数据,例如:
INSERT INTO [sales_fact]
VALUES (19990125, 347, 8901, 0, 13, 5.3100, 1.8585, 3.0)
INSERT INTO [sales_fact]
VALUES (19990324, 576, 7203, 0, 13, 2.1000, 0.9450, 3.0)
INSERT INTO [sales_fact]
VALUES (19990604, 139, 7203, 0, 13, 5.3700, 2.2017, 3.0)
INSERT INTO [sales_fact]
VALUES (20000914, 396, 8814, 0, 13, 6.4800, 2.0736, 2.0)
INSERT INTO [sales_fact]
VALUES (20001113, 260, 8269, 0, 13, 5.5200, 2.4840, 3.0)
要验证分区是否正常工作,请使用查询分析器来显示查询计划,例如:
SELECT TOP 2 * FROM sales_fact WHERE date_key = 19990324


猜你喜欢
- 本文实例为大家分享了python判断设备是否联网的具体代码,供大家参考,具体内容如下直接上代码,就是用判断socket能不连上的方法来判断。
- <style> body {margin:10px;background-color:#ffffff;margin-t
- 有了Selenium,还可以轻松操作Cookies,比如获取、添加、删除Cookies。具体代码如下:from selenium impor
- 在我的印象里面进制互相转换确实是很常见的问题,所以在Python中,自然也少不了把下面这些代码收为util。这是从网上搜索的一篇也的还可以的
- 表格(Table)可读性提升的系统总结,包括“行列组织关系模糊、单元格内容不清晰”两大方面...前边写了个大框架,好像有点笼统,因为没有各点
- 一 概述Python生态系统的一些核心基础数据分析库:NumPy:支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,包含
- 本文实例讲述了PHP类的特性。分享给大家供大家参考,具体如下:对象向下传递特性当一个对象调用一个实例方法,然后在该方法中又去静态调用另一个类
- python之参数,定义时小括号中的参数,用来接收参数用的,称为 “形参”调用时小括号中的参数,用来传递给函数用的,称为 “实参”。1、思考
- Anaconda下需要使用Python与MySQL数据库进行交互,所以需要import一个mysql-python的包,但是在ipython
- 在这篇asp之数学函数里,我们将会以表格的形式,让大家了解到关于ASP中能用到的数学函数,里面包括一个数的绝对值、一个数的平方根
- 第一种: php部分 <?php if($_FILES['file']['error']&
- 前言:并行编程比程序编程困难,除非正常编程需要创建大量数据,计算耗时太长,物理行为模拟困难例子:N体问题物理前提:牛顿定律时间离散运动方程普
- 我们都知道python的版本不同,在使用的时候就有所区别。鉴于我们推荐小伙伴们选择python3版本,所以这方面的区别了解的不是很多。就拿_
- 在用JS编写动画的时候,经常用会到布局转换,即在运动前将相对定位转为绝对定位,然后执行动画函数。下面给大家分享一个运用原生JS实现的布局转换
- 继上篇Vue 滚动触底 mixins,将对于文档滚动触底的逻辑迁移到某个dom上,将会用到 Vue.directive 来实现代码逻辑复用。
- 问题:生产环境的操作系统和数据库可能是英文版的,而我们的母语是中文,如果英语能力差点,可能有时对英语环境下的数据库脚本报错的英文提示看不懂,
- 本文实例讲述了Python解决走迷宫问题算法。分享给大家供大家参考,具体如下:问题:输入n * m 的二维数组 表示一个迷宫数字0表示障碍
- 本文实例讲述了Python实现判断给定列表是否有重复元素的方法。分享给大家供大家参考,具体如下:题目很简单,只是简单温习一个方法,most_
- 折腾好半天的数据库连接,由于之前未安装 pip ,而且自己用的python 版本为3.6. 只能用 pymysql 来连接数据库,下边 简单
- 在做一个客户端基建项目的时候,多处需要用到JS调取命令行执行shell脚本,这里对shell命令、JS执行shell命令做一个简单的介绍和总