最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySql存儲(chǔ)引擎的作用

 更新時(shí)間:2022年09月16日 17:05:03   作者:在人間負(fù)債^  
mysql面試中最常問(wèn)的問(wèn)題之一:小伙子,你說(shuō)一下你們公司用的存儲(chǔ)引擎,以及你知道有哪些存儲(chǔ)引擎和他們之間的區(qū)別? 所以下面這篇文章主要給大家介紹了關(guān)于Mysql存儲(chǔ)引擎的相關(guān)資料,需要的朋友可以參考下

1. 存儲(chǔ)引擎是什么

存儲(chǔ)引擎是 MySql 中特有的一個(gè)術(shù)語(yǔ),其它數(shù)據(jù)庫(kù)中沒(méi)有。

實(shí)際上存儲(chǔ)引擎是一個(gè)表存儲(chǔ)/組織數(shù)據(jù)的方式。

不同的存儲(chǔ)引擎,表存儲(chǔ)數(shù)據(jù)的方式不同。

2. 如何給表添加指定存儲(chǔ)引擎

mysql> show create table t_student;
| t_student | CREATE TABLE `t_student` (
  `no` int NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `cno` int DEFAULT NULL,
  PRIMARY KEY (`no`),
  KEY `cno` (`cno`),
  CONSTRAINT `t_student_ibfk_1` FOREIGN KEY (`cno`) REFERENCES `t_class` (`classno`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |

在建表的時(shí)候可以在最后小括號(hào)的 “)” 的右邊使用:

ENGINE 來(lái)指定存儲(chǔ)引擎

CHARSET 來(lái)指定這張表的字符編碼方式

mysql 的默認(rèn)存儲(chǔ)引擎是:InnoDB

mysql 的默認(rèn)的字符編碼方式是:utf8

mysql> create table t_product (id int primary key, name varchar(255))engine=InnoDB default charset=utf8;

3. mysql支持那些存儲(chǔ)引擎

mysql> show engines \g

+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

mysql 支持九大存儲(chǔ)引擎

mysql 的版本不同,支持的引擎情況不同

4. mysql常用存儲(chǔ)引擎的介紹

1. MyISAM存儲(chǔ)引擎

特征:

使用三個(gè)文件表示每個(gè)表

  • 格式文件 - 存儲(chǔ)表結(jié)構(gòu)的定義(mytable.frm)
  • 數(shù)據(jù)文件 - 存儲(chǔ)表行的內(nèi)容(mytable.MYD)
  • 索引文件 - 存儲(chǔ)表上索引(mytable.MYI):索引是一本書(shū)的目錄,可以縮小掃描范圍,提供查詢效率。

優(yōu)點(diǎn):

由于表由三個(gè)文件來(lái)存儲(chǔ)因此可以被壓縮、只讀來(lái)存儲(chǔ)空間

缺點(diǎn):

不支持事務(wù),安全性低

對(duì)于一張表來(lái)說(shuō),如果添加 unique 約束,在被約束的字段上就會(huì)自動(dòng)創(chuàng)建索引

2. InnoDB存儲(chǔ)引擎

InnoDB 是 mysql 默認(rèn)的存儲(chǔ)引擎,同時(shí)也是一個(gè)重量級(jí)的存儲(chǔ)引擎。

InnoDB 支持事務(wù),支持?jǐn)?shù)據(jù)庫(kù)崩潰后自動(dòng)恢復(fù)機(jī)制。

InnoDB 存儲(chǔ)引擎最主要的特點(diǎn)是:非常安全!??!

特征:

  • 每個(gè) InnoDB 表在數(shù)據(jù)庫(kù)目錄中以.frm 格式文件表示
  • InnoDB 表空間 tablespace 被用于存儲(chǔ)表的內(nèi)容
  • 提供一組用來(lái)記錄事務(wù)性活動(dòng)的日志文件
  • 用 COMMIT(提交)、SAVEPOINT 及 ROLLBACK(回滾)支持事務(wù)處理
  • 提供全 ACID 兼容
  • 在 MySQL 服務(wù)器崩潰后提供自動(dòng)恢復(fù)
  • 多版本(MVCC)和行級(jí)鎖定
  • 支持外鍵及引用的完整性,包括級(jí)聯(lián)刪除和更新

3. MEMORY存儲(chǔ)引擎

使用 MEMORY 存儲(chǔ)引擎的表,其數(shù)據(jù)在內(nèi)存中,且行的長(zhǎng)度固定。

這兩個(gè)特點(diǎn)使得 MEMORY 存儲(chǔ)引擎非??欤。?!

特征:

  • 在數(shù)據(jù)庫(kù)目錄內(nèi),每個(gè)表均以.frm 格式的文件表示。
  • 表數(shù)據(jù)及索引被存儲(chǔ)在內(nèi)存中。
  • 表級(jí)鎖機(jī)制。
  • 不能包含 TEXT 或 BLOB 字段。

MEMORY 存儲(chǔ)引擎以前被稱為 HEAP 引擎。

優(yōu)點(diǎn):

查詢效率最高!??!不需要和硬盤(pán)交互。

缺點(diǎn):

不安全,關(guān)機(jī)之后數(shù)據(jù)消失,因?yàn)閿?shù)據(jù)和索引都是在內(nèi)存當(dāng)中。

到此這篇關(guān)于MySql存儲(chǔ)引擎的作用的文章就介紹到這了,更多相關(guān)MySql存儲(chǔ)引擎內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mysql之如何實(shí)現(xiàn)全外連接

    Mysql之如何實(shí)現(xiàn)全外連接

    這篇文章主要介紹了Mysql之如何實(shí)現(xiàn)全外連接問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • MySQL虛擬列的使用示例

    MySQL虛擬列的使用示例

    虛擬列是MySQL中的一種特殊列,它不存儲(chǔ)在表中,而是在查詢時(shí)動(dòng)態(tài)計(jì)算生成,虛擬列可以提高查詢效率、減少存儲(chǔ)需求、確保數(shù)據(jù)一致性、簡(jiǎn)化查詢和保護(hù)敏感數(shù)據(jù),感興趣的可以了解一下
    2024-11-11
  • MySQL常用類型轉(zhuǎn)換函數(shù)總結(jié)(推薦)

    MySQL常用類型轉(zhuǎn)換函數(shù)總結(jié)(推薦)

    這篇文章主要介紹了MySQL常用類型轉(zhuǎn)換函數(shù)總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • MySQL?數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí)

    MySQL?數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí)

    這篇文章主要介紹了MySQL?數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí),它是一類更具體的可以管理數(shù)據(jù)的軟件。但是實(shí)現(xiàn)數(shù)據(jù)庫(kù)的這個(gè)軟件,需要用到很多的數(shù)據(jù)結(jié)構(gòu),下面來(lái)看看文章是怎么具體介紹這個(gè)數(shù)據(jù)庫(kù)的
    2021-12-12
  • Win7、WinXP下MySql安裝出錯(cuò)完全卸載的方法步驟

    Win7、WinXP下MySql安裝出錯(cuò)完全卸載的方法步驟

    這篇文章主要介紹了Win7、WinXP下MySql安裝出錯(cuò)完全卸載的方法步驟,本文給出詳細(xì)的操作步驟,按本文方法清理后,重新安裝,應(yīng)該就不會(huì)有錯(cuò)誤了,需要的朋友可以參考下
    2015-06-06
  • MySQL常用SQL語(yǔ)句總結(jié)包含復(fù)雜SQL查詢

    MySQL常用SQL語(yǔ)句總結(jié)包含復(fù)雜SQL查詢

    今天小編就為大家分享一篇關(guān)于MySQL常用SQL語(yǔ)句總結(jié)包含復(fù)雜SQL查詢,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • 哪些情況會(huì)導(dǎo)致?MySQL?索引失效

    哪些情況會(huì)導(dǎo)致?MySQL?索引失效

    這篇文章主要介紹了哪些情況會(huì)導(dǎo)致MySQL索引失效,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • MYSQL中 char 和 varchar的區(qū)別

    MYSQL中 char 和 varchar的區(qū)別

    這篇文章主要介紹了MYSQL中 char 和 varchar的區(qū)別,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-09-09
  • MySQL最常問(wèn)的十道面試題(2023年最新詳解版)

    MySQL最常問(wèn)的十道面試題(2023年最新詳解版)

    MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),這是學(xué)習(xí)Java必學(xué)的知識(shí)點(diǎn),也是面試java崗位必考的題目,所以大家要有所重視,這篇文章主要給大家介紹了關(guān)于MySQL最常問(wèn)的十道面試題,是2023年最新詳細(xì)整理的,需要的朋友可以參考下
    2023-10-10
  • 關(guān)于Mysql8.0版本驅(qū)動(dòng)getTables返回所有庫(kù)的表問(wèn)題淺析

    關(guān)于Mysql8.0版本驅(qū)動(dòng)getTables返回所有庫(kù)的表問(wèn)題淺析

    這篇文章主要給大家介紹了關(guān)于Mysql 8.0版本驅(qū)動(dòng)getTables返回所有庫(kù)的表問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12

最新評(píng)論

平昌县| 长垣县| 双辽市| 宾阳县| 卓尼县| 曲水县| 杭锦旗| 新疆| 建德市| 四会市| 八宿县| 大悟县| 禹州市| 博野县| 玉门市| 元阳县| 新蔡县| 施秉县| 改则县| 五家渠市| 竹溪县| 沙河市| 山丹县| 唐河县| 图木舒克市| 罗平县| 温宿县| 淳化县| 双江| 绩溪县| 石河子市| 昭通市| 黔东| 黔东| 和林格尔县| 霍城县| 明溪县| 海宁市| 大洼县| 江阴市| 芷江|