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

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL常用存儲引擎功能與用法詳解

2024-07-24 12:50:21
字體:
供稿:網(wǎng)友

本文實(shí)例講述了MySQL常用存儲引擎功能與用法。,具體如下:

MySQL存儲引擎主要有兩大類:

1. 事務(wù)安全表:InnoDB、BDB。

2. 非事務(wù)安全表:MyISAM、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等。

MySQL默認(rèn)的存儲引擎是MyISAM(5.7版本中默認(rèn)為InnoDB)。

配置文件中設(shè)置默認(rèn)存儲引擎的參數(shù):default-table-type。

查詢當(dāng)前數(shù)據(jù)庫支持的存儲引擎:

show engines;show variables like 'have%';

查看當(dāng)前的默認(rèn)存儲引擎:

show variables like '%table_type%';

創(chuàng)建新表時(shí)指定存儲引擎:

create table(...) engine=MyISAM;

下面詳細(xì)介紹4個(gè)比較常用的存儲引擎:MyISAM、InnoDB、MEMORY和MERGE。

一、MyISAM

1. 數(shù)據(jù)文件:

MyISAM數(shù)據(jù)表在磁盤存儲成3個(gè)文件,其文件名都和表名相同,擴(kuò)展名分別是:

(1).frm:存儲數(shù)據(jù)表結(jié)構(gòu)定義。

(2).MYD:存儲表數(shù)據(jù)。

(3).MYI:存儲表索引。

其中,數(shù)據(jù)文件和索引文件可以放置在不同的目錄,平均分布IO,獲得更快的速度。指定索引文件和數(shù)據(jù)文件的路徑,需要在創(chuàng)建表的時(shí)候通過data directory和index directory語句指定。(文件路徑需要是絕對路徑并且具有訪問的權(quán)限)

MyISAM類型的表可能會損壞,原因可能是多種多樣的,損壞后的表可能不能訪問,會提示需要修復(fù)或者訪問后返回錯(cuò)誤的結(jié)果。可以使用check table語句來檢查MyISAM表的健康,并用repair table語句修復(fù)已經(jīng)損壞的MyISAM表。

 2. 存儲格式:

(1)靜態(tài)表(默認(rèn)):字段都是非變長的(每個(gè)記錄都是固定長度的)。存儲非常迅速、容易緩存,出現(xiàn)故障容易恢復(fù);占用空間通常比動(dòng)態(tài)表多。

(2)動(dòng)態(tài)表:占用的空間相對較少,但是頻繁的更新刪除記錄會產(chǎn)生碎片,需要定期執(zhí)行optimize table或myisamchk -r命令來改善性能,而且出現(xiàn)故障的時(shí)候恢復(fù)比較困難。

(3)壓縮表:使用myisampack工具創(chuàng)建,占用非常小的磁盤空間。因?yàn)槊總€(gè)記錄是被單獨(dú)壓縮的,所以只有非常小的訪問開支。

靜態(tài)表的數(shù)據(jù)在存儲的時(shí)候會按照列的寬度定義補(bǔ)足空格,在返回?cái)?shù)據(jù)給應(yīng)用之前去掉這些空格。如果需要保存的內(nèi)容后面本來就有空格,在返回結(jié)果的時(shí)候也會被去掉。(其實(shí)是數(shù)據(jù)類型char的行為,動(dòng)態(tài)表中若有這個(gè)數(shù)據(jù)類型也同樣會有這個(gè)問題)

(靜態(tài)表和動(dòng)態(tài)表是根據(jù)正使用的列的類型自動(dòng)選擇的。)

 3. 優(yōu)劣勢:

(1)優(yōu)勢:訪問的速度快。

(2)不支持事務(wù)、也不支持外鍵。

 4. 適用情況:

如果應(yīng)用是以讀操作和插入操作為主,只有很少的更新和刪除操作,并且對事務(wù)的完整性、并發(fā)性要求不是很高,那么選擇這個(gè)存儲引擎是非常適合的。MyISAM 是在Web、數(shù)據(jù)倉庫和其他應(yīng)用環(huán)境下最常使用的存儲引擎之一。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 甘孜| 阿荣旗| 永丰县| 巴楚县| 灵丘县| 青海省| 平顶山市| 西城区| 如皋市| 宁都县| 耒阳市| 泗水县| 宜昌市| 阜南县| 绍兴市| 鄂伦春自治旗| 龙岩市| 永济市| 曲松县| 睢宁县| 湘潭市| 崇州市| 大悟县| 噶尔县| 利辛县| 东明县| 扶绥县| 兴义市| 龙里县| 开江县| 方正县| 临江市| 黔西| 汕尾市| 石城县| 宁陕县| 时尚| 浙江省| 忻州市| 本溪| 多伦县|