mysql存儲引擎:myisam


Myisam:

1.myisam是MySQL默認的存儲引擎。myisam不支持事務,也不支持外鍵,優點是訪問的速度快,對事物完整性沒有要求(select,insert為主的應用都可以使用這個引擎來創建表)

2.myisam的表支持3種不同的存儲格式,分別是靜態表(字段都是固定長度,優點存儲迅速,容易緩存。缺點:占用的空間通常比動態表多),動態表,壓縮表,

靜態表的數據在存儲時會按照列的寬度定義補足空格,但是在應用訪問的時候並不會得到這些空格,這些空格在返回給應用之前已經去掉(保存的內容后面帶有空格,返回結果時會被去掉。)

1 CREATE TABLE myisam_char (NAME CHAR ( 10 )) ENGINE = myisam;
2 insert into myisam_char values ('abcde'),("abcde"),(" abcde "),("abcde ");
3 select name,length(name) from myisam_char;

 

從上面的例子可以看出,插入記錄后面的空格都被去掉了,前面的空格保留了。

3.動態表中包含變長字段,記錄不是固定長度的,這樣存儲的優點是占用的空間相對較少,但是頻繁地更新和刪除記錄會產生碎片,需要定期執行OPTIMIZE TABLE語句或myisamchk-r命令來改善性能,並且在出現故障時恢復相對比較困難。

4.壓縮表由myisampack工具創建,占據非常小的磁盤空間。因為每個記錄是被單獨壓縮的,所以只有非常小的訪問開支。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM