1. 儲存引擎的概念 儲存引擎(儲存引擎也可以成為表類型)其實就是如何儲存數據,如何為儲存的數據建立索引和如何更新,查詢數據等技術的實現方法。mysql中的數據用各種不同的技術儲存在文件(或記憶體)中。這些技術中的每一種技術都使用不同的儲存機制,索引技巧,鎖定水平並且最終提供廣泛的,不同的功能和能力, ...
1. 儲存引擎的概念
儲存引擎(儲存引擎也可以成為表類型)其實就是如何儲存數據,如何為儲存的數據建立索引和如何更新,查詢數據等技術的實現方法。mysql中的數據用各種不同的技術儲存在文件(或記憶體)中。這些技術中的每一種技術都使用不同的儲存機制,索引技巧,鎖定水平並且最終提供廣泛的,不同的功能和能力,這些不同的技術及配套的相關功能在myql中被稱為儲存引擎。可以選擇適用於伺服器,資料庫,表格的儲存引擎。
2 .Mysql 中支持的儲存引擎
查詢Mysql支持的儲存引擎
mysql>show engines ;
show engines 語句可以用“;”,也可以用“\G”,“\G”可以讓結果顯示得更美觀,
查看預設的儲存引擎
mysql>show variables like "storage_engine%" ;
InnoDB儲存引擎
innodb 儲存引擎中支持自動增長列 AUTO_INCREMENT 。自動增長列的值不能為空,且值必須唯一。 Mysql中規定自動增長列必須為主鍵,在插入值時,如果自動增長列不輸入值,則插入的值為自動增長後的值,如果輸入的值為0或空(NULL),則插入的值也為自動增長後的值,如果插入某個確定的值,且該值在前面沒有出現過,則可以直接插入。
innodb 儲存引擎中支持外鍵(FOREIGN KEY),外鍵所在的表為子表,外鍵所依賴的表為父表。父表中被子表外鍵關聯的欄位必須為主鍵,當刪除,更新父表的某條信息時,子表也必須有相應的改變。
innodb儲存引擎是唯一支持事務的標準mysql儲存引擎,
innodb 儲存引擎中,創建的表的表結構儲存在.frm文件中,數據和索引儲存在innodb_data_home_dir 和innodb_data_file_path 表空間中
innodb 儲存引擎的優勢在於提供良好的事務管理,崩潰修複能力和併發控制,缺點是其讀寫效率稍差,占用數據空間相對比較大
MyISAM 儲存引擎
MyISAM 儲存引擎的表儲存成3個文件,文件的名稱與表名相同,擴展名包括frm,MYD,MYI。
frm: 儲存表的結構
MYD: 儲存數據,MYDATA的縮寫
MYI: 儲存索引,MYIndex的縮寫