Oracle與SQL Server資料庫管理對比

來源:互聯網
上載者:User
 

1. Oracle為用戶端開啟會話有兩種方式:共用服務和專用服務。在專用服務情況下,監聽器為串連請求建立新進程(Unix環境下是Process,Windows下我想應該是Thread吧);共用服務情況下,監聽器將客戶請求交給Dispatcher,由Dispatcher安排多客戶的作業。SQL Server在預設情況下自動為用戶端串連建立線程,當有非常多的客戶串連時,SQL Server可以使用線程池管理多會話,這類似於Oracle的共用服務。

2. Oracle的記憶體管理分三塊:SGA、PGA、UGA;在MSDN中並沒有提及怎樣控制SQL Server的記憶體配置,只是提到SQL Server的虛擬位址空間分成緩衝池佔用空間和其餘空間,且SQL Server有動態記憶體管理機制。

3. Oracle的執行個體一次只能管理一個資料庫,資料庫在叢集環境下可由多個執行個體管理。而SQL Server單個執行個體一次能管理多個資料庫。Oracle資料庫儲存方式有OS檔案、裸分區、ASM等,SQL Server的資料庫儲存只能是系統檔案。

4. Oracle資料庫包含資料表空間,資料表空間可以使用多個檔案儲存體資料,資料表空間就類似於SQL Server中的檔案組。區是物理連續上串連的儲存空間,區中包括最小I/O單位——塊(Oracle)或頁(SQL Server)。但SQL Server頁大小是8KB,區包含8個頁;Oracle不同資料表空間可以有不同的塊大小,區的大小和保護塊的數量也不固定。SQL Server的頁由一個資料庫物件獨佔,物理儲存的資料庫物件只有索引和表兩種;而Oracle中的段由資料庫物件定義,且其儲存的對象複雜得多,有表段、索引段、復原段、臨時段等等,所以在一個聚簇段中的塊可能被多個表使用。

5. Oracle使用FREELIST管理可以塊,通過設定PCTFREE和PCTUSED控制快在何種條件下可用;SQL Server使用GAM、SGAN記錄可用頁,使用PFS跟蹤頁的使用狀況。

6. SQL Server的表有兩種方式組織資料的實體儲存體,一種是無序的堆組織,這Oracle是類似的;另一種是由聚簇索引決定資料排序方式,Oracle也可有索引組織方式,但不同於SQL Server,它依鍵排序資料,不增加一個索引用於聚簇,不會有額外的開銷。此外,Oracle的聚簇表是多表格儲存體在相同段上,像SQL Server的混合區可以包含不同表的頁,但Oracle的聚簇表是一組含有相同列的表可以儲存在相同的塊中,聚簇表的可以有索引或Hash方式組織資料。

7. Oracle建立表分區會建立不同的段,SQL Server 2005通過資料分割配置將不同分區儲存到不同的檔案組。Oracle有三種分區方法,SQL Server使用分區函數。Oracle 11g中還將加入時段分區、系統磁碟分割等。

8. SQL Server的索引只有B-樹,Oracle有B-樹、位元影像、函數、位元影像串連和可擴充索引。

9. Oracle的重做日誌與SQL Server的交易記錄都使用迴圈寫入策略,Oracle使用多個重做記錄檔,SQL Server也可使用多個記錄檔,但將記錄檔分成多個虛擬日誌,以虛擬日誌為單位進行迴圈。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.