Mysql---存儲引擎

存儲引擎
MySQL支持許多不同的存儲引擎,有時候也稱作表格類型。數據庫每個表可以有不同的存儲引擎

,而且可以輕鬆地對它們進行轉換。
CREATE TABLE tablename TYPE=typename
可能的表格類型包括:
1  MyISAM--這是默認類型,它是基於傳統的ISAM類型,ISAM是Indexed Sequential Access Method(有索引的順序訪問方法)的縮寫,它是存儲記錄和文件的標準方法。與其它存儲引擎相比較,MyISAM具有和修復表格的大多數工具。 MyISAM表格可以被壓縮,而且它們支持全文搜
索。它們不是事務安全的(關於事務的概念,稍後會講),而且也不支持外鍵。
2 ISAM--如上所描述的。ISAM表格的使用已經被廢棄了。
3 MEMORY(也就是以前的HEAP)--該類的表存儲在內存中,表的索引是哈希分佈的。這使
得MEMORY表格非常快,但是如果發生崩潰,數據將丟失。這些特性使得MEMORY表非常適合保
存臨時數據或者派生的數據。應該在CREATE TABLE語句中指定MAX_ROWS,否則這些表可
能會吞噬所有的內存。同樣,它們也不能具有BLOB、TEXT或AUTO INCREMENT列。
4 MERGE--這些表允許你爲了查詢的目的,把MyISAM表的集合作爲一個單個表。因此,你
可在某些操作中避開最大文件大小限制。
5 BDB--這種類型的表是事務安全的,也就是說,它們可以提供COMMIT秋ROLLBACK功能
,但使用起來比MyISAM錶速度慢,但是可以提供使用事務的所有優點。這些表格都是基於
Berkeley DB的。
6 InnoDB--這種類型的表是事務安全的。它與BDB類型具有相同的特性。它們還支持外鍵。
InnoDB表格速度很快,具有比BDB還豐富的特性,因此如果需要一個事務安全的存儲引擎,
建議使用它。
  在大多數Web應用程序中,通常都會使用MyISAM或InnoDB表格或者二者的結合。
  當對一個表格使用大量的SELECT或INSERT語句(或者二者的結合)時,應該使用MyISAM
表格,因爲在執行這兩種命令時,MyISAM是最快的。對於許多Web應用程序(例如分類)來說
,MyISAM是最佳選擇。如果需要全文搜索功能,也應該使用MyISAM。當事務非常重要(例如存
儲財務數據的表格),或在INSERT和SELECT語句是交錯執行的情況下(例如在線論壇系統),
應該使用InnlDB.對於臨時表格或要是實現視圖,可以使用MEMORY表格。如果需要處理大量的MyISAM表格,可以使用MERGE表格。
  使用ALTER TABLE語句,可以在創建表格後修改表格的類型,如下所示:
  ALTER TABLE tablename TYPE=typename;

事務
事務是確保數據庫一致的機制,尤其是在發生錯誤或服務器崩潰情況下確保一致的機制。
事務是一個或一系列的查詢,這些查詢可以保證能夠在數據庫中作爲一個整體全部執行或者全部
不執行。這樣,數據庫才能在無論任務是否完成的情況下保持一致狀態。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章