MySQL數據庫引擎類別和更換方式

MySQL數據庫引擎類別

能用的數據庫引擎取決於mysql在安裝的時候是如何被編譯的。要添加一個新的引擎,就必須從新編譯MYSQL。在缺省狀況下,MYSQL支持三個引擎:ISAM、MYISAM和HEAP。另外兩種類型INNODBBERKLEY(BDB),也經常可使用。mysql

ISAM

ISAM是一個定義明確且歷經時間考驗的數據表格管理方法,它在設計之時就考慮到數據庫被查詢的次數要遠大於更新的次數。所以,ISAM執行讀取操做的速度很快,並且不佔用大量的內存和存儲資源。ISAM的兩個主要不足之處在於,它不支持事務處理,也不可以容錯:若是你的硬盤崩潰了,那麼數據文件就沒法恢復了。若是你正在把ISAM用在關鍵任務應用程序裏,那就必須常常備份你全部的實時數據,經過其複製特性,MYSQL可以支持這樣的備份應用程序。sql

MYISAM

MYISAM是MYSQL的ISAM擴展格式和缺省的數據庫引擎。除了提供ISAM裏所沒有的索引和字段管理的功能,MYISAM還使用一種表格鎖定的機制,來優化多個併發的讀寫操做。其代價是你須要常常運行OPTIMIZE TABLE命令,來恢復被更新機制所浪費的空間。MYISAM還有一些有用的擴展,例如用來修復數據庫文件的MYISAMCHK工具和用來恢復浪費空間的MYISAMPACK工具。數據庫

MYISAM強調了快速讀取操做,這可能就是爲何MYSQL受到了WEB開發如此青睞的主要緣由:在WEB開發中你所進行的大量數據操做都是讀取操做。因此,大多數虛擬主機提供商和INTERNET平臺提供商只容許使用MYISAM格式。併發

HEAP

HEAP容許只駐留在內存裏的臨時表格。駐留在內存裏讓HEAP要比ISAM和MYISAM都快,可是它所管理的數據是不穩定的,並且若是在關機以前沒有進行保存,那麼全部的數據都會丟失。在數據行被刪除的時候,HEAP也不會浪費大量的空間。HEAP表格在你須要使用SELECT表達式來選擇和操控數據的時候很是有用。要記住,在用完表格以後就刪除表格。工具

INNODB和BERKLEYDB

INNODB和BERKLEYDB(BDB)數據庫引擎都是造就MYSQL靈活性的技術的直接產品,這項技術就是MYSQL++ API。在使用MYSQL的時候,你所面對的每個挑戰幾乎都源於ISAM和MYISAM數據庫引擎不支持事務處理也不支持外來鍵。儘管要比ISAM和MYISAM引擎慢不少,可是INNODB和BDB包括了對事務處理和外來鍵的支持,這兩點都是前兩個引擎所沒有的。如前所述,若是你的設計須要這些特性中的一者或者二者,那你就要被迫使用後兩個引擎中的一個了。優化

mysql數據引擎更換方式

一、更改數據庫引擎

1.一、更改方式1:修改配置文件my.ini設計

將my-small.ini另存爲my.ini,在[mysqld]後面添加default-storage-engine=InnoDB,重啓服務,數據庫默認的引擎修改成InnoDB索引

1.二、更改方式2:在建表的時候指定事務

建表時指定:內存

create table mytbl( id int primary key, name varchar(50) )type=MyISAM;

2.三、更改方式3:建表後更改

alter table mytbl2 type = InnoDB;

二、查看修改結果

方式1:

show table status from mytest;

方式2:

show create table table_name

相關文章
相關標籤/搜索