成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server 2000 數據倉庫中使用分區之分區設計

數據庫 SQL Server 數據倉庫
我們今天主要描述的是SQL Server 2000 數據倉庫中使用分區之分區設計的簡捷概述,愿在你以后的學習中以起到拋磚引玉的作用。

今天我們向大家講述的是SQL Server 2000 數據倉庫中使用分區之分區設計的簡捷概述,SQL Server 數據庫中的分區表主其可以使用可更新或者是可查詢(不可更新)的分區視圖。在這兩種情況下,表分區都是由每個分區都包含正確數據的 CHECK 約束來創建的。

一個可更新的分區視圖支持對視圖進行 INSERT (或 UPDATE 或 DELETE)操作,并將操作推入至正確的基礎表。這很有益處,但SQL Server 2000 數據倉庫應用程序通常需要進行批量加載,而這是無法通過視圖執行的。下表總結了可更新和可查詢分區視圖的要求、優點和缺點。

Microsoft 建議的做法是定義主鍵,并將事實表設計為本地(單個服務器上)的分區聯合視圖。大多數情況下,該定義會產生可更新的分區視圖,但SQL Server 2000 數據倉庫維護應用程序應設計為直接將大多數數據批量加載至成員表(而不是通過視圖進行)。

 

語法示例:

 

以下代碼示例用來說明定義成員表和聯合視圖以及將數據插入視圖的語法:

創建 1999 年事實表:

  1. CREATE TABLE [dbo].[sales_fact_19990101] (   [date_key] [int] NOT NULL CHECK ([date_key] BETWEEN 19990101 AND 19991231),     
  2. [product_key] [int] NOT NULL ,   [customer_key] [int] NOT NULL ,   [promotion_key] [int] NOT NULL ,     
  3. [store_key] [int] NOT NULL ,   [store_sales] [money] NULL ,   [store_cost] [money] NULL ,    
  4. [unit_sales] [float] NULL ) ALTER TABLE [sales_fact_19990101] ADD PRIMARY KEY ( [date_key], [product_key], [customer_key], [promotion_key], [store_key])  

創建 2000 年事實表:

  1. CREATE TABLE [dbo].[sales_fact_20000101] (   [date_key] [int] NOT NULL CHECK ([date_key]  
  2. BETWEEN 20000101 AND 20001231),   [product_key] [int] NOT NULL ,   [customer_key] [int] NOT NULL ,     
  3. [promotion_key] [int] NOT NULL ,   [store_key] [int] NOT NULL ,   [store_sales] [money] NULL ,     
  4. [store_cost] [money] NULL ,   [unit_sales] [float] NULL ) ALTER TABLE [sales_fact_20000101]   
  5. ADD PRIMARY KEY ( [date_key], [product_key], [customer_key], [promotion_key], [store_key])  

創建 UNION ALL 視圖:

  1. CREATE VIEW [dbo].[sales_fact] AS SELECT * FROM [dbo].[sales_fact_19990101] UNION ALL SELECT * FROM [dbo].[sales_fact_20000101] 

現在插入幾行數據,例如:

  1.  INSERT INTO [sales_fact] VALUES (19990125, 347, 8901, 0, 13, 5.3100, 1.8585, 3.0)   
  2. INSERT INTO [sales_fact] VALUES (19990324, 576, 7203, 0, 13, 2.1000, 0.9450, 3.0)   
  3. INSERT INTO [sales_fact] VALUES (19990604, 139, 7203, 0, 13, 5.3700, 2.2017, 3.0)   
  4. INSERT INTO [sales_fact] VALUES (20000914, 396, 8814, 0, 13, 6.4800, 2.0736, 2.0)   
  5. INSERT INTO [sales_fact] VALUES (20001113, 260, 8269, 0, 13, 5.5200, 2.4840, 3.0)  

要驗證分區是否正常工作,請使用查詢分析器來顯示查詢計劃,例如:

  1. SELECT TOP 2 * FROM sales_fact WHERE date_key = 19990324 

您應該看到查詢計劃中僅包括表 1999。將該查詢計劃與主鍵已刪除的相同表生成的查詢計劃相比較,我們會發現:表 2000 仍然被排除。將這些計劃與在已刪除 date_key 約束的架構上生成的查詢計劃進行對比。這些約束被刪除的情況下,表 1999 和表 2000 都被包括在查詢中。

請注意,在通常情況下,在大型表上執行查詢時,使用“TOP N”語法是好的做法,因為它可以迅速返回結果并使用最少的服務器資源。查看分區表的查詢計劃時,這一點尤為重要,因為由“SELECT *”語句生成的查詢計劃很難解析。對于偶爾進行觀察的人而言,盡管在查詢執行期間,查詢中僅使用相關的表,但表面看起來好象查詢計劃包括了 UNION ALL 視圖的所有組件表。

 

將條件直接應用于事實表:

 

要獲得***的查詢性能,所有的查詢都應將條件直接放在事實表中的篩選鍵上。將約束放在第二張表(例如日期矢量表)的查詢將包括所有分區。對 UNION ALL 事實表的標準星號聯合查詢工作良好,將條件放在任意未分區的矢量表的屬性上,以標準方式創建星號查詢 WHERE 子句,包括分區矢量(日期)的屬性。

在分區矢量架構上設計查詢與在未分區的架構上設計完全一樣,只不過將日期條件直接放在事實表中的日期鍵上時日期條件最為有效。

如果每一分區表的索引中的***個列為帶日期的簇索引,轉到所有分區解析某一特定查詢的開銷相對較小。編寫預定義的查詢時應盡可能提高其效率,例如那些生成標準報表或漸變更新下行數據流數據庫的查詢。 以上的相關內容就是對在SQL Server 2000 數據倉庫中使用分區之分區設計概述 的介紹,望你能有所收獲。

【編輯推薦】

  1. MS-SQL server數據庫開發中的技巧
  2. SQL Server里調用COM組件的操作流程
  3. SQL Server安全規劃的闡述
  4. 正確分析MS SQL Server函數的2種用法
  5. 正確檢查SQL Server補丁版本的操作流程
責任編輯:佚名 來源: enet.com.cn
相關推薦

2010-07-21 14:50:23

SQL Server

2010-07-21 14:55:48

SQL Server

2010-07-21 15:16:08

SQL Server

2011-08-25 18:09:36

SQL Server創建數據倉庫已分區表

2011-01-18 09:51:59

Linux磁盤分區

2009-01-18 17:52:15

數據倉庫SQL Server數據庫

2010-09-13 11:09:34

SQL SERVER分

2010-11-10 14:47:11

SQL Server創

2011-03-21 10:13:31

Sql Server數分區

2010-05-13 10:00:10

SQL Server

2009-02-25 08:56:26

數據倉庫SQL Server SQL Server

2010-07-20 09:26:17

SQL Server

2009-02-24 12:14:27

微軟SQLServer20數據倉庫

2021-06-29 20:51:16

大數據框架分桶

2009-02-24 12:40:22

微軟SQLServer20數據倉庫

2010-06-30 08:20:05

SQL Server

2011-03-25 16:15:42

SQL Server

2009-08-04 10:29:06

在C#中使用存儲過程

2011-07-06 13:09:11

SQL Server

2010-11-10 14:35:17

SQL Server創
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品亚洲一区二区三区 | 日韩欧美视频免费在线观看 | 91亚洲精品在线观看 | 91视频大全 | 欧美亚洲另类丝袜综合网动图 | 国产精品成人一区二区三区吃奶 | 中文字幕在线精品 | 美国一级黄色片 | 羞羞视频在线观看 | 成年网站在线观看 | 亚洲精选一区 | 久久久久久成人 | 成人教育av| 久久久久久精 | 一片毛片 | 久久久久久免费毛片精品 | 国产精品欧美一区二区三区不卡 | 欧美精品a∨在线观看不卡 国产精品久久国产精品 | 国产精品福利在线观看 | 国产黄色在线观看 | 涩涩视频在线观看免费 | 日韩在线视频一区 | 久久尤物免费一区二区三区 | 69av网 | 久久精品99国产精品日本 | 国产一区二区三区四区五区加勒比 | 婷婷色成人 | 一久久久| 秋霞a级毛片在线看 | 国产区精品在线观看 | 一区二区在线免费观看视频 | 亚洲一区视频在线 | 免费成人高清 | 国产精品视频在线观看 | 在线观看第一页 | 精品亚洲永久免费精品 | 成人99 | 国产色婷婷精品综合在线手机播放 | a级毛片毛片免费观看久潮喷 | 亚洲精品成人网 | 亚洲成人免费视频 |