5.5之前的默認(rèn)存儲(chǔ)引擎 系統(tǒng)表,臨時(shí)表(在排序分組等操作中,數(shù)量超過一定大小,由查詢優(yōu)化器建立的臨時(shí)表)
MyISAM存儲(chǔ)引擎由MYD數(shù)據(jù)信息和MYI索引信息組成 它的鎖級(jí)別是表級(jí)鎖,對(duì)表進(jìn)行數(shù)據(jù)讀取時(shí)使用共享鎖進(jìn)行(共享鎖與共享鎖之間不會(huì)發(fā)生阻塞,因?yàn)橹贿M(jìn)行讀并未修改) 當(dāng)表?yè)p壞時(shí)可以進(jìn)行修復(fù),并不支持事務(wù)!!!
create table myIsam(id int, c1 varchar(10))engine=myisam;//這是創(chuàng)建一個(gè)MyISAM存儲(chǔ)引擎的表check table myIsam;//檢查表是否正常repair table MyIsam; //這是對(duì)表名為MyIsam表進(jìn)行修復(fù)當(dāng)然,也可以使用myisamchk工具進(jìn)行修復(fù),但是要停止MySQL服務(wù)才能操作此工具 支持索引:全文索引 支持?jǐn)?shù)據(jù)壓縮,使用myisampack命令
myisampack -b -f(強(qiáng)制) muIsam.MYI//會(huì)自動(dòng)備份生成myIsam.OLD在mysql5.0之前表最大為4G,要想存儲(chǔ)大表要修改參數(shù)MAX_Rows和AVG_ROW_LENGTH,但在5.0之后取消的對(duì)表的限制,默認(rèn)為256TB。 使用場(chǎng)景:非事務(wù)性應(yīng)用。報(bào)表應(yīng)用,只讀類應(yīng)用,空間類應(yīng)用,GPS數(shù)據(jù)存放
使用表空間進(jìn)行數(shù)據(jù)存儲(chǔ),適合處理小事務(wù),很少進(jìn)行回滾 innodb_file_per_table參數(shù) 如果是on,則每一個(gè)表都有一個(gè)tablename.ibd 系統(tǒng)表空間和獨(dú)立表空間的選擇 1.系統(tǒng)表空間無法簡(jiǎn)單的收縮文件大小, 2.獨(dú)立表空間可以用 optimize table 命令收縮系統(tǒng)文件,對(duì)表進(jìn)行重建,無需重啟sql服務(wù)器 系統(tǒng)表空間,會(huì)產(chǎn)生順序讀寫,影響IO效率 獨(dú)立表空間可以對(duì)多個(gè)文件刷新數(shù)據(jù) 建議:innodb使用獨(dú)立表空間
表轉(zhuǎn)移的步驟(系統(tǒng)表轉(zhuǎn)移到獨(dú)立表) 1.使用mysqldump導(dǎo)出所以數(shù)據(jù)庫(kù)數(shù)據(jù) 2.停止mysql服務(wù),修改參數(shù),刪除相關(guān)文件, 3.重啟MYSQL,重建表并導(dǎo)入
系統(tǒng)表中存放innodb數(shù)據(jù)字典信息(通過B樹管理),Undo回滾段 innodb是事務(wù)性存儲(chǔ)引擎 支持事務(wù)acid特性 原子性 一致性 持久性 隔離性 Redo Log 重做日志,存儲(chǔ)已提交事務(wù),順序讀寫 Undo Log 回滾日志 ,存儲(chǔ)未提交事務(wù),隨機(jī)讀寫
它支持行級(jí)鎖(存儲(chǔ)引擎層實(shí)現(xiàn))最大程度支持并發(fā)
lock table tablename write;//鎖上鎖實(shí)現(xiàn)了事務(wù)的隔離性 鎖分為 共享鎖(read) 和 獨(dú)占鎖(write) 鎖的粒度,表示鎖定的單位(表,行,等) 表級(jí)鎖,并發(fā)低。 阻塞和死鎖并不一樣!! innodb狀態(tài)檢查
show engine innodb statusinnodb支持全文索引,空間函數(shù) myisam innodb 都是以2進(jìn)制存儲(chǔ)
CSV存儲(chǔ)引擎的存儲(chǔ)是以文本形式存儲(chǔ)的(打開文件能看得懂,,字符文件) .csv存儲(chǔ)表內(nèi)容(數(shù)據(jù)) csm存儲(chǔ)元數(shù)據(jù) 表狀態(tài)數(shù)據(jù)量 .frm表結(jié)構(gòu) 它的特點(diǎn):以csv格式對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),列不能為NULL,不支持索引(優(yōu)化查詢)
create table mycsv(id int not null,c1 varchar(10) not null,c2 char(10) not null) engine=csv;//這是創(chuàng)建一個(gè)csv引擎的表適用場(chǎng)景:數(shù)據(jù)交換的中間表,電子表格(變成csv文件 放在mysql目錄下)
緩存寫,用zlib對(duì)表數(shù)據(jù)進(jìn)行壓縮 數(shù)據(jù)存在.ARZ文件中 只支持insert和select操作,支持緩沖區(qū) 只支持在自增ID上增加索引(auto_increment)
create table myarchive(id int auto_increment not null,key(id)) engine=archive;//創(chuàng)建archive索引表適用場(chǎng)景 日志和數(shù)據(jù)采集類應(yīng)用
存儲(chǔ)在內(nèi)存中, 功能特點(diǎn):支持hash索引(不能范圍查找,等值查找使用hash) 支持btree索引(范圍查找使用) 所有字段固定長(zhǎng)度,不支持BLOG和TEXT等大字段 使用的是表級(jí)鎖,表的大小由max_heap_table_size參數(shù)決定。 適用場(chǎng)景 查找或者映射表,例如郵編和地區(qū)的對(duì)應(yīng)表
提供了訪問遠(yuǎn)程MySQL服務(wù)器上表的方法 但本地要保存表結(jié)構(gòu)和遠(yuǎn)程服務(wù)器的連接信息 性能不太好 show engines;  要想支持 要在mysql配置文件中修改
  要想支持 要在mysql配置文件中修改
新聞熱點(diǎn)
疑難解答
圖片精選