程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 學習SQL SERVER,關於表的分區體會

學習SQL SERVER,關於表的分區體會

編輯:關於SqlServer

  創建帶分區的數據表步驟:

  1,建立數據庫裡指定文件組FILEGROUP[分區文件名](NAME=‘’,FILENAME=‘’,SIZE=,MAXSIZE=,FILEGROWTH=)

  2,創建分區表函數,可以理解為一個規則。CREATE PARTITION FUNCTION[函數名](用來分區的字段的類型)AS RANGE LEFT FOR VALUES(范圍值)

  3,創建分區架構,即將分區函數應用到分區文件組裡面去CREATE PARTITION SCHEME[架構名] AS PARTITION [分區函數名] TO(分區文件名,分區文件名,分區文件名,分區文件名);

  4,創建表結構CREATE TABLE (ID INT NOT NULL,COLUMN。。。) ON [分區結構名](用來分區的字段名)

  完整示例地址:http://www.cnblogs.com/jackyrong/archive/2006/11/13/559354.Html

  對現有數據庫進行分區操作有待考究

  附帶,對表進行分區的好處:

  數據庫的整體結構

  數據庫文件

|—數據分區

    |—數據頁(8種類型)

  頁的大小為 8 KB。這意味著 SQL Server 數據庫中每 MB 有 128 頁

  區是管理空間的基本單位。一個區是八個物理上連續的頁(即 64 KB)。這意味著 SQL Server 數據庫中每 MB 有 16 個區。 

  當一個查詢沒有合適的索引的時候就會進行全表掃描(table scan),如果有合適的索引的話就會按索引進行查找(seek)。

  索引的結構是按B-樹結構來存儲,而且SQL維護著樹的平衡,也就是說,每次搜索都會遍歷相同的層級數。

  當數據越來越大,數據分區內的第一個索引頁也就是索引B樹的根,所屬的下級子節點越來越多,索引的層級數會越來越大,索引查詢也會越來越慢。

  對表進行分區可以把數據索引頁分到不同的區中,也就是形成了多個B樹結構,就減少了樹的層級數,而且把不同的數據庫文件放到不同的物理磁盤中,提高了IO性能,使大數據量的查詢更快

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved