国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL存儲引擎明白多少

2024-07-24 12:31:21
字體:
來源:轉載
供稿:網友
       MySQL是我們經常使用的數據庫處理系統(DBMS),不知小伙伴們有沒有注意過其中的“存儲引擎”(storage_engine)呢?有時候面試題中也會問道MySQL幾種常用的存儲引擎的區別。這次就簡短侃一下存儲引擎那些事兒。
 
      先去查一下“引擎”概念。
 
      引擎(Engine)是電子平臺上開發程序或系統的核心組件。利用引擎,開發者可迅速建立、鋪設程序所需的功能,或利用其輔助程序的運轉。一般而言,引擎是一個程序或一套系統的支持部分。常見的程序引擎有游戲引擎,搜索引擎,殺毒引擎等。
 
一.InnoDB存儲引擎
 
     InnoDB給MySQL的表提供了事務處理、回滾、崩潰修復能力和多版本并發控制的事務安全。在MySQL從3.23.34a開始包含InnnoDB。它是MySQL上第一個提供外鍵約束的表引擎。而且InnoDB對事務處理的能力,也是其他存儲引擎不能比擬的。靠后版本的MySQL的默認存儲引擎就是InnoDB。
 
      InnoDB存儲引擎總支持AUTO_INCREMENT。自動增長列的值不能為空,并且值必須唯一。MySQL中規定自增列必須為主鍵。在插入值的時候,如果自動增長列不輸入值,則插入的值為自動增長后的值;如果輸入的值為0或空(NULL),則插入的值也是自動增長后的值;如果插入某個確定的值,且該值在前面沒有出現過,就可以直接插入。
  
二.MyISAM存儲引擎
 
MyISAM是MySQL中常見的存儲引擎,曾經是MySQL的默認存儲引擎。MyISAM是基于ISAM引擎發展起來的,增加了許多有用的擴展。
 
MyISAM的表存儲成3個文件。文件的名字與表名相同。拓展名為frm、MYD、MYI。其實,frm文件存儲表的結構;MYD文件存儲數據,是MYData的縮寫;MYI文件存儲索引,是MYIndex的縮寫。
 
三.MEMORY存儲引擎
 
MEMORY是MySQL中一類特殊的存儲引擎。它使用存儲在內存中的內容來創建表,而且數據全部放在內存中。這些特性與前面的兩個很不同。
 
每個基于MEMORY存儲引擎的表實際對應一個磁盤文件。該文件的文件名與表名相同,類型為frm類型。該文件中只存儲表的結構。而其數據文件,都是存儲在內存中,這樣有利于數據的快速處理,提高整個表的效率。值得注意的是,服務器需要有足夠的內存來維持MEMORY存儲引擎的表的使用。如果不需要了,可以釋放內存,甚至刪除不需要的表。
 
MEMORY默認使用哈希索引。速度比使用B型樹索引快。當然如果你想用B型樹索引,可以在創建索引時指定。
 
注意,MEMORY用到的很少,因為它是把數據存到內存中,如果內存出現異常就會影響數據。如果重啟或者關機,所有數據都會消失。因此,基于MEMORY的表的生命周期很短,一般是一次性的。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淮北市| 烟台市| 元氏县| 沁阳市| 阿瓦提县| 绥江县| 商洛市| 东光县| 天台县| 西青区| 西华县| 罗田县| 新蔡县| 嘉兴市| 太仆寺旗| 高邑县| 衡阳市| 茂名市| 阿拉善左旗| 绥滨县| 西城区| 通江县| 恩平市| 中江县| 平安县| 南宁市| 威信县| 四川省| 皮山县| 司法| 德昌县| 桂林市| 建平县| 高密市| 盖州市| 上犹县| 广汉市| 内江市| 晋宁县| 余庆县| 常宁市|