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

MySQL 常見(jiàn)存儲(chǔ)引擎的優(yōu)劣

 更新時(shí)間:2021年06月01日 10:56:15   作者:PureWhite  
眾所周知,MySql 提供了很多存儲(chǔ)引擎,這里來(lái)比較一下常見(jiàn)引擎的優(yōu)劣。幫助大家選擇合適的存儲(chǔ)引擎

查看所有存儲(chǔ)引擎

我們可以通過(guò) show engines 命令來(lái)看到我們的 mysql server 提供了哪些引擎:

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

InnoDB 存儲(chǔ)引擎

InnoDB 是事務(wù)性數(shù)據(jù)庫(kù)的首選引擎,支持事務(wù)安全表(ACID),支持行鎖定和外鍵。MySQL5.5.5 之后,InnoDB 作為默認(rèn)存儲(chǔ)引擎。InnoDB 主要特性有:

  1. InnoDB 給 MySQL 提供了具有提交、回滾和崩潰恢復(fù)能力的事務(wù)安全(ACID 兼容)存儲(chǔ)引擎。InnoDB 鎖定在行級(jí)并且也在 SELECT 語(yǔ)句中提供一個(gè)類似 Oracle 的非鎖定讀。這些功能增加了多用戶部署和性能。在 SQL 查詢中,可以自由地將 InnoDB 類型的表與其他 MySQL 的表的類型混合起來(lái),甚至在同一個(gè)查詢中也可以混合。
  2. InnoDB 是為處理巨大數(shù)據(jù)量所設(shè)計(jì)的性能為重的,它的 CPU 效率可能是任何其他基于磁盤的關(guān)系數(shù)據(jù)庫(kù)引擎所不能匹敵的。
  3. InnoDB 存儲(chǔ)引擎完全與 MySQL 服務(wù)器整合,InnoDB 存儲(chǔ)引擎在主內(nèi)存中維持了自己的緩沖池來(lái)緩存數(shù)據(jù)和索引。InnoDB 將它的表和索引存在一個(gè)邏輯表空間中,表空間可以包含數(shù)個(gè)文件(或原始磁盤分區(qū))。這與 MyISAM 表不同,比如在 MyISAM 表中每個(gè)表被存在分離的文件中。InnoDB 表可以是任何尺寸,即使在文件尺寸被限制在 2GB 的操作系統(tǒng)上。
  4. InnoDB 支持外鍵完整性約束(FOREIGN KEY)。存儲(chǔ)表中的數(shù)據(jù)時(shí),每張表的存儲(chǔ)都按主鍵順序存放,如果沒(méi)有顯式在表定義時(shí)制定主鍵,InnoDB 會(huì)為每一行生成一個(gè) 6B 的 ROWID,并以此作為主鍵。
  5. InnoDB 被用在眾多需要高性能的大型數(shù)據(jù)庫(kù)站點(diǎn)上。
  6. InnoDB 不創(chuàng)建目錄,使用 InnoDB 時(shí),MySQL 將在 MySQL 數(shù)據(jù)目錄下創(chuàng)建一個(gè)名為 ibdata1 的 10MB 大小的自動(dòng)擴(kuò)展數(shù)據(jù)文件,以及兩個(gè)名為 ib_logfile0 和 ib_logfile1 的 5MB 大小的日志文件。

MyISAM 存儲(chǔ)引擎

MyISAM 是基于 ISAM 的存儲(chǔ)引擎,并對(duì)其進(jìn)行擴(kuò)展。它是在 Web、數(shù)據(jù)存儲(chǔ)和其他應(yīng)用環(huán)境下最常使用的存儲(chǔ)引擎之一。MyISAM 擁有較高的插入、查詢速度,但不支持事務(wù)。在 MySQL5.5.5 之前的版本中,MyISAM 是默認(rèn)存儲(chǔ)引擎。MyISAM 主要特性有:

  1. 大文件(達(dá) 63 位文件長(zhǎng)度)在支持大文件的文件系統(tǒng)和操作系統(tǒng)上被支持。
  2. 當(dāng)把刪除、更新及插入操作混合使用的時(shí)候,動(dòng)態(tài)尺寸的行產(chǎn)生更少碎片。這要通過(guò)合并相鄰被刪除的塊,以及若下一個(gè)塊被刪除,就擴(kuò)展到下一塊來(lái)自動(dòng)完成。
  3. 每個(gè) MyISAM 表最大索引數(shù)是 64,這可以通過(guò)重新編譯來(lái)改變。每個(gè)索引最大的列數(shù)是 16 個(gè)。
  4. 最大的鍵長(zhǎng)度是 1000B,這也可以通過(guò)編譯來(lái)改變。對(duì)于鍵長(zhǎng)度超過(guò) 250B 的情況,一個(gè)超過(guò) 1024B 的鍵將被用上。
  5. BLOB 和 TEXT 列可以被索引。
  6. NULL 值被允許在索引的列中。這個(gè)值占每個(gè)鍵的 0-1 個(gè)字節(jié)。
  7. 所有數(shù)字鍵值以高字節(jié)優(yōu)先被存儲(chǔ)以允許一個(gè)更高的索引壓縮。
  8. 每表一個(gè) AUTO_INCREMENT 列的內(nèi)部處理。MyISAM 為 INSERT 和 UPDATE 操作自動(dòng)更新這一列。這使得 AUTO_INCREMENT 列更快(至少 10%)。在序列項(xiàng)的值被刪除之后就不能再利用。
  9. 可以把數(shù)據(jù)文件和索引文件放在不同目錄。
  10. 每個(gè)字符列可以有不同的字符集。
  11. 有 VARCHAR 的表可以固定或動(dòng)態(tài)記錄長(zhǎng)度。
  12. VARCHAR 和 CHAR 列可以多達(dá) 64KB。
  13. 使用 MyISAM 引擎創(chuàng)建數(shù)據(jù)庫(kù),將產(chǎn)生 3 個(gè)文件。文件的名字以表的名字開(kāi)始,擴(kuò)展名代表了文件的類型:frm 文件存儲(chǔ)表定義,myd 代表數(shù)據(jù)文件,myi 代表索引文件。

MEMORY 存儲(chǔ)引擎

MEMORY 存儲(chǔ)引擎將表中的數(shù)據(jù)存儲(chǔ)到內(nèi)存中,為查詢和引用其他表數(shù)據(jù)提供快速訪問(wèn)。MEMORY 主要特性有:

  1. MEMORY 表的每個(gè)表可以有多達(dá) 32 個(gè)索引,每個(gè)索引 16 列,以及 500B 的最大鍵長(zhǎng)度。
  2. MEMORY 存儲(chǔ)引擎執(zhí)行 HASH 和 BTREE 索引。
  3. 可以在一個(gè) MEMORY 表中有非唯一鍵。
  4. MEMORY 表使用一個(gè)固定的記錄長(zhǎng)度格式。
  5. MEMORY 不支持 BLOG 或 TEXT 列。
  6. MEMORY 支持 AUTO_INCREMENT 列和對(duì)可包含 NULL 值的列的索引。
  7. MEMORY 表在所有客戶端之間共享(就像其他任何非 TEMPORARY 表)。
  8. MEMORY 表內(nèi)容被存在內(nèi)存中,內(nèi)存是 MEMORY 表和服務(wù)器在查詢處理時(shí)的空閑中創(chuàng)建的內(nèi)部表共享的。
  9. 當(dāng)不再需要 MEMORY 表的內(nèi)容時(shí),要釋放被 MEMORY 表使用的內(nèi)存,應(yīng)該執(zhí)行 DELETE FROM 或 TRUNCATE TABLE,或者刪除整個(gè)表(用 DROP TABLE)。

以上就是MySQL 常見(jiàn)存儲(chǔ)引擎的優(yōu)劣的詳細(xì)內(nèi)容,更多關(guān)于MySQL 存儲(chǔ)引擎的優(yōu)劣的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL中常用的一些日期和時(shí)間函數(shù)

    MySQL中常用的一些日期和時(shí)間函數(shù)

    MySQL日期和時(shí)間函數(shù)是MySQL中的一個(gè)重要組件,它提供了一些有用的函數(shù)來(lái)處理日期和時(shí)間數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于MySQL中常用的一些日期和時(shí)間函數(shù),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • 淺談MySQL如何優(yōu)雅的做大表刪除

    淺談MySQL如何優(yōu)雅的做大表刪除

    這篇文章主要介紹了淺談MySQL如何優(yōu)雅的做大表刪除,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • mysql中的delete,drop和truncate有什么區(qū)別

    mysql中的delete,drop和truncate有什么區(qū)別

    這篇文章主要介紹了mysql中的delete,drop和truncate有什么區(qū)別,三者的用法和使用場(chǎng)景又完全不同,接下來(lái)我們來(lái)看看具體的區(qū)別吧,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-06-06
  • 如何提高M(jìn)ySQL Limit查詢性能的方法詳解

    如何提高M(jìn)ySQL Limit查詢性能的方法詳解

    今天小編就為大家分享一篇關(guān)于如何提高M(jìn)ySQL Limit查詢性能的方法詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • MySQL 存儲(chǔ)過(guò)程的優(yōu)缺點(diǎn)分析

    MySQL 存儲(chǔ)過(guò)程的優(yōu)缺點(diǎn)分析

    存儲(chǔ)過(guò)程(Stored Procedure)是一種在數(shù)據(jù)庫(kù)中存儲(chǔ)復(fù)雜程序,以便外部程序調(diào)用的一種數(shù)據(jù)庫(kù)對(duì)象。本文將分析存儲(chǔ)過(guò)程的優(yōu)缺點(diǎn)
    2021-05-05
  • mysql序號(hào)rownum行號(hào)實(shí)現(xiàn)方式

    mysql序號(hào)rownum行號(hào)實(shí)現(xiàn)方式

    這篇文章主要介紹了mysql序號(hào)rownum行號(hào)實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Windows下mysql 8.0.11 安裝教程

    Windows下mysql 8.0.11 安裝教程

    這篇文章主要為大家詳細(xì)介紹了Windows下mysql 8.0.11安裝教程 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • MySQL數(shù)學(xué)函數(shù)簡(jiǎn)明總結(jié)

    MySQL數(shù)學(xué)函數(shù)簡(jiǎn)明總結(jié)

    這篇文章主要介紹了MySQL數(shù)學(xué)函數(shù)簡(jiǎn)明總結(jié),本文總結(jié)了大多數(shù)常用的MySQL數(shù)學(xué)函數(shù),并給出了使用實(shí)例,需要的朋友可以參考下
    2014-09-09
  • workerman寫mysql連接池的實(shí)例代碼

    workerman寫mysql連接池的實(shí)例代碼

    在本篇文章中小編給大家分享的是一篇關(guān)于workerman寫mysql連接池的實(shí)例代碼內(nèi)容,有需要的朋友們可以參考下。
    2020-01-01
  • MySQL中查詢某一天, 某一月, 某一年的數(shù)據(jù)代碼詳解

    MySQL中查詢某一天, 某一月, 某一年的數(shù)據(jù)代碼詳解

    本文通過(guò)實(shí)例代碼給大家介紹了MySQL中, 如何查詢某一天, 某一月, 某一年的數(shù)據(jù) ,需要的朋友可以參考下
    2019-06-06

最新評(píng)論

衡阳市| 东至县| 浙江省| 东城区| 梅河口市| 嘉义市| 中江县| 临城县| 新余市| 容城县| 镇赉县| 遂川县| 西青区| 应用必备| 祥云县| 馆陶县| 库尔勒市| 溧阳市| 祁门县| 璧山县| 筠连县| 綦江县| 仪陇县| 崇州市| 信丰县| 临泉县| 侯马市| 务川| 买车| 洛川县| 勐海县| 安多县| 嵩明县| 冕宁县| 杭州市| 财经| 化州市| 邹平县| 郸城县| 永清县| 安宁市|