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

SQL Server 2008數據庫學習筆記

數據庫 SQL Server
本文我們對SQL Server 2008數據存儲體系結構、表分區以及面向查詢索引的索引策略進行了總結,希望能夠對您有所幫助。

近幾年來,SQL Server 2008數據庫由于其操作簡單、功能強大已經被越來越多的人使用。對于初學者來說,學習SQL Server 2008時會或多或少的存在一些困惑,本文我們總結了一些SQL Server 2008數據庫的一些知識,希望能夠對您有所幫助。

SQL SERVER數據存儲體系結構

SQL SERVER 把數據存儲在磁盤上,但為了提高性能和完整性,它優化了磁盤結構的格式,磁盤上的數據是最近一次由內存刷新到磁盤上的狀態.內存數據是最新的,數據修改一般是先在內存中進行,而不是直接寫入到磁盤.

物理數據結構

一個數據庫至少有一個數據文件與事務日志文件.

數據文件存儲數據庫的所有信息,包括數據值,索引和配置數據和可編程對象.事務日志文件提供一個對數據庫所有修改的持久記錄.SQL Server采用預寫的修改過程,即所有的修改在寫入數據庫之前都必須先寫進事務日志.這些日志使各種數據恢復和完整性功能得以實現。

8k的塊來組織,稱為頁面.8個頁面又被組織為區.

數據頁面:數據頁面存儲所有的數據值,但不包含那些大值類型,如text,ntext,xml,varchar(max).

索引頁面:存儲聚集索引條目和非聚集索引條目.

大型對象頁面:由于SQL Server數據行不能跨越頁面,所以大型數據值必須通過指針放到其他地方,指向存放數據條目的大型數據頁面.Varchar類似的類型會根據大小動態地在數據頁面與大型對象頁面轉換.

其他頁面:GAM SGAM PFS等,存儲頁與區分配使用情況的頁面.

SGAM專門監控混合區,用一位來標識混合區是否還有空閑頁面.

內存體系結構

存儲數據的內存組織結構,也叫數據緩存或緩沖緩存.類似于物理磁盤的組織結構,內存組織成8KB單元大小的緩沖池來存儲數據頁面.

客戶端工作站向SQL Server提交一個查詢,首先解析優化查詢,并編譯成數據引擎可遵循的查詢計劃,嘗試定位到內存緩沖區中的頁,提取必須的數據值,然后以一個表格式數據流(TDS)返回給客戶端,如果不在緩沖區中,則會產生一個I/O請求去磁盤讀取一個頁面到內存中.

內存緩沖區有三種狀態:空閑,可用與臟的.

需要明白的是SQL Server的IO,都是通過WINDOWS來執行的,所有的硬件也是通過windows來管理的,SQL Server通過OS來處理,本身不直接管理.

表分區

1.創建分區函數

 

  1. CREATE PARTITION FUNCTION DATEPARTITION(DATETIME)  
  2.  
  3. AS RANGE RIGHT  
  4.  
  5. FOR VALUES ('01/01/2007','01/01/2008') 

 

這個示例分了三個區,一個是2007/01/01之前的數據,不包含這一天.然后是2007/01/01到2008/01/01(不包含)之間的數據,然后是2008/01/01及其以后的數據。

2.創建分區方案

 

  1. CREATE PARTITION SCHEME dateScheme  
  2.  
  3. AS PARTITION DATEPARTITION  
  4.  
  5. TO ([FG1],[FG2],[PRIMARY])  
  6.  
  7. GO 

 

分區方案末端的文件組表示分區將放置在哪里.

3.創建分區表

 

  1. CREATE TABLE partitiontable  
  2.  
  3. (id INT NOT NULL IDENTITY(1,1),  
  4.  
  5. datevalue DATETIME NOT NULL)  
  6.  
  7. ON dateScheme(DATEVALUE) 

 

插入測試數據后并查看

 

  1. INSERT INTO  partitiontable (datevalue) VALUES('2006-6-6 12:00:00')  
  2.  
  3. INSERT INTO  partitiontable (datevalue) VALUES('2007-6-6 12:00:00')  
  4.  
  5. INSERT INTO  partitiontable (datevalue) VALUES('2008-6-6 12:00:00') 

 

查看:

 

  1. SELECT   
  2.  
  3. partition_id,  
  4.  
  5. PARTITION_number,  
  6.  
  7. ROWS  
  8.  
  9. FROM sys.partitions  
  10.  
  11. WHERE object_idobject_id=object_id('partitiontable') 

 

面向查詢索引的索引策略

表的存儲HOBT,根據是否有索引來決定。

在堆中查詢數據的基本方式是執行全表掃描,表是基于數據頁存儲的,因此表掃描就是對掃描存儲該表的數據頁,并從中提取所需的數據。這表明堆上進行數據查詢的I/O開銷應該與對應的數據頁數基本相當。

我們應該創建什么樣的索引呢?創建查詢優化器實際會使用的索引,創建能減少I/O的索引。

相對于響應時間,優化器更關注于吞吐量,優化器使用靜態的統計數據,必要時使用手動更新,UPDATE STATISTICS即可刷新需要的統計頁。優化器需要結構良好的查詢。SQL SERVER 對每個表只使用一個索引(有例外)。

關于SQL Server 2008數據庫的知識就介紹到這里了,希望本次的介紹能夠對您有所收獲!

【編輯推薦】

  1. SQL Server 2005數據庫nolock使用詳解
  2. SQL Server 2005無法連接到本地服務器的解決
  3. SQL Server如何查詢當前服務器有多少連接請求
  4. SQL Server通過整理索引碎片和重建索引提高速度
  5. SQL Server 2008安裝無法通過性能計數器一致性的解決
責任編輯:趙鵬 來源: 博客園
相關推薦

2011-08-19 15:13:36

SQL Server MDX查詢

2009-04-10 15:37:48

SQL Server2鏡像實施

2009-03-19 09:30:59

2010-08-27 09:59:51

SQL Server

2011-08-25 13:41:50

SQL Server 變更跟蹤

2011-09-07 15:11:31

SQL Server同步

2011-08-16 18:11:13

SQL Server 手動提交

2011-08-09 17:24:21

SQL Server 數據庫日志

2021-03-24 14:50:00

SQLServer數據庫字符串

2010-07-15 17:28:50

SQL Server

2021-03-19 07:12:23

SQL Server數據庫數據庫收縮

2010-12-17 09:11:41

SQL Server

2011-07-25 12:56:44

SSMAOracle數據庫SQL Server

2017-03-15 16:45:02

SQL Server 數據庫分配用戶

2010-07-16 10:29:02

SQL Server

2010-07-06 13:22:13

SQL Server

2011-08-19 15:29:10

SQL Server 元數組

2010-07-06 14:00:51

SQL Server

2010-07-22 14:52:00

SQL Server

2011-08-16 18:00:15

MyEclipseSQL Server
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产高清精品一区二区三区 | 国产一级一级 | 天堂网中文 | 狠狠综合久久av一区二区小说 | 一级免费毛片 | 美人の美乳で授乳プレイ | 亚洲精品视频在线播放 | 亚洲在线观看视频 | 国产精品美女久久久久久不卡 | 亚洲高清视频一区二区 | 国产 欧美 日韩 一区 | 一区观看 | av大片在线| 久久亚洲国产精品 | 日韩一区二区三区在线观看 | 久久99精品久久久 | 国产精品一区二区av | 在线观看国产wwwa级羞羞视频 | 九九免费视频 | 九九热re | 午夜电影日韩 | 91xxx在线观看| 色综合久久天天综合网 | 99精品99久久久久久宅男 | 久久久久无码国产精品一区 | 亚洲精品久久久久久久久久久久久 | 成人激情视频免费观看 | 欧美三级电影在线播放 | 中文字幕电影在线观看 | 欧美综合久久 | 国产欧美视频一区二区三区 | 精品国产一区二区三区日日嗨 | 国产精品一区二区日韩 | 亚洲成人在线免费 | 亚洲高清三级 | 久久久精品视频一区二区三区 | 国产在线视频一区二区 | 日韩在线一区二区三区 | 久久久久久美女 | 欧美日韩一区在线 | 超碰97免费在线 |