Oracel,Mysql等數據的存儲引擎

MySQl,:

MySQl常用的存儲引擎主要就是2個:Innodb和MyIASM.

MyISAM:

是MySQL的ISAM擴展格式和缺省的數據庫引擎。除了提供ISAM裏所沒有的索引和字段管理的大量功能,MyISAM還使用一種表格鎖定的機制,來優化多個併發的讀寫操作,其代價是你需要經常運行OPTIMIZE TABLE命令,來恢復被更新機制所浪費的空間。MYISAM強調了快速讀取操作,缺點是就是不能在表損壞後恢復數據。

ISAM

ISAM是一個定義明確且歷經時間考驗的數據表格管理方法,它在設計之時就考慮到 數據庫被查詢的次數要遠大於更新的次數。因此,ISAM執行讀取操作的速度很快,而且不佔用大量的內存和存儲資源。ISAM的兩個主要不足之處在於,它不 支持事務處理,也不能夠容錯:如果你的硬盤崩潰了,那麼數據文件就無法恢復了。

InnoDB

InnoDB數據庫引擎都是造就MySQL靈活性的技術的直接產品,這項技術就是MYSQL+API

存儲引擎對比 讀取速度 鎖定機制 是否包含事務 是否記錄錶行數 數據是否可恢復  支持全文索引 支持數據庫緩存
ISAM 鎖表,無外鍵      
MyISAM  
InnoDB 較慢 行級鎖和外鍵的約束

 

總結:

Innodb和MyIASM各有特點,適用範圍不同。大容量的數據集時趨向於選擇Innodb,因爲它支持事務處理,併發控制和故障的恢復,因此目前互聯網相關的電商等選用mysql多用Innodb。MyIASM適用查詢大於寫入,且查詢頻繁的場景,通常各種門戶,新聞等信息展示的web網站,可以優先考慮。

另外:

如果只是臨時存放數據,數據量不大,並且不需要較高的數據安全性,可以選擇將數據保存在內存中的Memory引擎,MySQL中使用該引擎作爲臨時表,存放查詢的中間結果

如果只有INSERT和SELECT操作,可以選擇Archive,Archive支持高併發的插入操作,但是本身不是事務安全的。Archive非常適合存儲歸檔數據,如記錄日誌信息可以使用Archive

 

mysql給開發者提供了查詢存儲引擎的功能,可以使用:

SHOW ENGINES

如果要想查看數據庫默認使用哪個引擎,可以通過使用命令:

SHOW VARIABLES LIKE 'storage_engine';

Oracle:

oracle中不存在引擎的概念,數據處理大致可以分成兩大類:聯機事務處理OLTP(on-line transaction processing)、聯機分析處理OLAP(On-Line Analytical Processing)。OLTP是傳統的關係型數據庫的主要應用,主要是基本的、日常的事務處理,例如銀行交易。OLAP是數據倉庫系統的主要應用,支持複雜的分析操作,側重決策支持,並且提供直觀易懂的查詢結果。

OLTP 系統強調數據庫內存效率,強調內存各種指標的命令率,強調綁定變量,強調併發操作;

OLAP 系統則強調數據分析,強調SQL執行市場,強調磁盤I/O,強調分區等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章