文章詳情頁
MySQL MyISAM默認存儲引擎實現原理
瀏覽:7日期:2023-10-16 08:37:32
默認MyISAM的表會在磁盤中產生3個文件:.frm(表結構文件)、.MYD(數據文件)、.MYI(索引文件)
可以在創建的時候指定數據文件和索引文件的存儲位置,只有MyISAM表支持:
DATA DIRECTORY [=] 數據保存的絕對路徑 INDEX DIRECTORY [=] 索引文件的絕對路徑MyISAM單表最大支持的數據量為2的64次方跳記錄
每個表最多可以建立64個索引
如果是復合索引,每個復合索引最多包含16個列,索引值最大長度是1000B
MyISAM引擎的存儲格式:
定長(FIXED 靜態) :是指字段不包含VARCHAR/TEXT/BLOB 動態(DYNAMIC) :只要字段中包含了VARCHAR/TEXT/BLOB 壓縮(COMPRESSED):muisampack創建InnoDB存儲引擎:
設計遵循ACID模型,支持事務,具有從服務崩潰中恢復的能力,能夠最大限度保護用戶的數據
支持行級鎖,可以提升多用戶并發時的讀寫性能
InnoDB擁有自己獨立的緩沖池,常用的數據和索引都在緩存中
對于INSERT、UPDATE、DELETE操作,InnoDB會使用一種change buffering的機制來自動優化,還可以提供一致性的讀,并且還能夠緩存變更的數據,減少磁盤I/O,提高性能
創建InnoDB表之后會產生兩個文件:
.frm表結構文件 .ibd 數據和索引存儲表空間中所有的表都需要創建主鍵,最好是配合上AUTO_INCREMENT,也可以放到經常查詢的列作為主鍵
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
1. Microsoft Office Access創建表格的方法2. MySQL基礎教程10 —— 函數之全文搜索功能3. 使用SQL Server 將現有代碼作為Web 服務提供4. Access出現"所有記錄中均未找到搜索關鍵字"的錯誤解決5. SQLServer數據庫誤操作恢復的方法6. SQL SERVER偏移函數(LAG、LEAD、FIRST_VALUE、LAST _VALUE、NTH_VALUE)7. docker中使用mysql數據庫實現局域網訪問8. 簡單了解mysql InnoDB MyISAM相關區別9. MySQL mysqladmin客戶端的使用簡介10. Oracle移動數據文件不停機和停機兩種方式詳解
排行榜
