Oracle: 資料檔案包括:控制檔案、資料檔案、重做日志檔案、引數檔案、歸檔檔案、密碼檔案。這是根據檔案功能行進行劃分,并且所有檔案都是二進制編碼后的檔案,對資料庫演算法效率有極大的提高。由于Oracle檔案管理的統一性,就可以對SQL執行程序中的決議和優化,指定統一的標準:
RBO(基于規則的優化器)、CBO(基于成本的優化器)
通過優化器的選擇,以及HINT規則,給與了SQL優化極大的自由,對CPU、記憶體、IO資源進行方方面面的優化。
MySQL:最大的一個特色,就是自由選擇存盤引擎。每個表都是一個檔案,都可以選擇合適的存盤引擎。常見的引擎有 InnoDB、 MyISAM、 NDBCluster等。但由于這種開放插件式的存盤引擎,比如要求資料庫與引擎之間的松耦合關系。從而導致檔案的一致性大大降低。在SQL執行優化方面,也就有著一些不可避免的瓶頸。在多表關聯、子查詢優化、統計函式等方面是軟肋,而且只支持極簡單的HINT。
SQL Server :資料架構基本是縱向劃分,分為:Protocol Layer(協議層), Relational Engine(關系引擎), Storage Engine(存盤引擎), SQLOS。SQL執行程序就是逐層決議的程序,其中Relational Engine中的優化器,是基于成本的(CBO),其作業程序跟Oracle是非常相似的。在成本之上也是支持很豐富的HINT,包括:連接提示、查詢提示、表提示。
uj5u.com熱心網友回復:
海量資料就用oracel,跨平臺就用mysql,windows上就用sql server轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/19427.html
標籤:基礎類
上一篇:新技術前沿
