mysql與大多數據庫不同,在mysql中有一個存儲引擎情況,針對不同需要,用戶可以選擇最適合自己的存儲引擎,那麼在mysql有多少種存儲引擎呢,並且他們的有什麼優點與不足呢,
mysql教程與大多數據庫教程不同,在mysql中有一個存儲引擎情況,針對不同需要,用戶可以選擇最適合自己的存儲引擎,那麼在mysql有多少種存儲引擎呢,並且他們的有什麼優點與不足呢,
mysql引擎有四種分別為:myisam,innodb,bdb,memory,merge,example,ndb cluster,archive,csv,blackhole,federated等,其它innodb,與bdb是提供事務安全表,其它存儲引擎都是非事務安全表。
下面我們來看不同表的簡.
一、myisam
myisam是mysql默認存儲引擎,它不支持事務處理,同時也不支持外鍵,其優點是速度快,對事務的完整性沒有要求,
myisam一個數據表,會在硬盤上有三個表文件分別是 .frm(存儲表定義) .myd( 數據存儲表) .myi(存儲索引表)
二、innodb
innodb表的自動增長列,可手工輸入,但是如果值為0或空,則實際插入的會是自動增長的值,對innodb表的自動增長必須設置為索引,而myisam不必需的。同時它還支持外鍵約束,
三、memory
memery存儲引擎使用存儲在內存中的內容來創建表,每一個memory表只實際對應一個硬盤文件,格式是.frm,memory訪問速度比較上面二種都要快,因為它數據放在內存中,並且默認引擎使用的是hash索引,但是服務器一關閉,表中的數據就會被丟失
四、merge
merge存儲引擎是一組myisam表的組合,這些myisam表必須結構完全相同,merge本身是沒有數據,對merge類型的表可以進行查詢,刪除,更新等操作,這些實際都是對內部的myisam進行操作的,對於merge類型表插入操作,是通過inert_method子句定義插入的表,可以有3個不同的值,first,last,不定義為no表不能對merge進行插入操作。
好了上面介紹的是常用的mysql存儲引擎簡單說明,
本站原創教程轉載注明來源www.bKjia.c0m