亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

MySQL 常見存儲引擎的優劣

瀏覽:104日期:2023-10-02 12:38:31
目錄查看所有存儲引擎InnoDB 存儲引擎MyISAM 存儲引擎MEMORY 存儲引擎查看所有存儲引擎

我們可以通過 show engines 命令來看到我們的 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 存儲引擎

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

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

MyISAM 是基于 ISAM 的存儲引擎,并對其進行擴展。它是在 Web、數據存儲和其他應用環境下最常使用的存儲引擎之一。MyISAM 擁有較高的插入、查詢速度,但不支持事務。在 MySQL5.5.5 之前的版本中,MyISAM 是默認存儲引擎。MyISAM 主要特性有:

大文件(達 63 位文件長度)在支持大文件的文件系統和操作系統上被支持。 當把刪除、更新及插入操作混合使用的時候,動態尺寸的行產生更少碎片。這要通過合并相鄰被刪除的塊,以及若下一個塊被刪除,就擴展到下一塊來自動完成。 每個 MyISAM 表最大索引數是 64,這可以通過重新編譯來改變。每個索引最大的列數是 16 個。 最大的鍵長度是 1000B,這也可以通過編譯來改變。對于鍵長度超過 250B 的情況,一個超過 1024B 的鍵將被用上。 BLOB 和 TEXT 列可以被索引。 NULL 值被允許在索引的列中。這個值占每個鍵的 0-1 個字節。 所有數字鍵值以高字節優先被存儲以允許一個更高的索引壓縮。 每表一個 AUTO_INCREMENT 列的內部處理。MyISAM 為 INSERT 和 UPDATE 操作自動更新這一列。這使得 AUTO_INCREMENT 列更快(至少 10%)。在序列項的值被刪除之后就不能再利用。 可以把數據文件和索引文件放在不同目錄。 每個字符列可以有不同的字符集。 有 VARCHAR 的表可以固定或動態記錄長度。 VARCHAR 和 CHAR 列可以多達 64KB。 使用 MyISAM 引擎創建數據庫,將產生 3 個文件。文件的名字以表的名字開始,擴展名代表了文件的類型:frm 文件存儲表定義,myd 代表數據文件,myi 代表索引文件。 MEMORY 存儲引擎

MEMORY 存儲引擎將表中的數據存儲到內存中,為查詢和引用其他表數據提供快速訪問。MEMORY 主要特性有:

MEMORY 表的每個表可以有多達 32 個索引,每個索引 16 列,以及 500B 的最大鍵長度。 MEMORY 存儲引擎執行 HASH 和 BTREE 索引。 可以在一個 MEMORY 表中有非唯一鍵。 MEMORY 表使用一個固定的記錄長度格式。 MEMORY 不支持 BLOG 或 TEXT 列。 MEMORY 支持 AUTO_INCREMENT 列和對可包含 NULL 值的列的索引。 MEMORY 表在所有客戶端之間共享(就像其他任何非 TEMPORARY 表)。 MEMORY 表內容被存在內存中,內存是 MEMORY 表和服務器在查詢處理時的空閑中創建的內部表共享的。 當不再需要 MEMORY 表的內容時,要釋放被 MEMORY 表使用的內存,應該執行 DELETE FROM 或 TRUNCATE TABLE,或者刪除整個表(用 DROP TABLE)。

以上就是MySQL 常見存儲引擎的優劣的詳細內容,更多關于MySQL 存儲引擎的優劣的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 国产一在线 | 日韩综合图区 | 夜色亚洲 | 一级全免费视频播放 | 国产大片黄在线播放 | 国产欧美久久一区二区 | 国产99久久精品一区二区 | 久久国产亚洲欧美日韩精品 | 黄色在线视频观看 | 亚洲精品一区二区久久 | 亚洲色图在线观看视频 | 国产毛片片精品天天看视频 | 成年人视频免费看 | 黄色网址在线免费播放 | 亚洲色色色图 | 国产精品亚洲午夜一区二区三区 | 日韩免费观看的一级毛片 | 久久综合久久精品 | 日本特黄特黄特刺激大片 | 成 人 黄 色 视频播放1 | 亚洲国产99在线精品一区二区 | 中文字幕高清在线 | 狠狠婷婷 | 免费 欧美 自拍 在线观看 | 大量国产后进翘臀视频 | 国内自拍 在线播放 网红 | 日本高清在线不卡 | 日本乱理伦中文三区 | 99久久免费国产香蕉麻豆 | 毛片一级免费 | 久久精品国产丝袜 | 黄色美女毛片 | 久久亚洲伊人成综合人影院 | 国产成人精品视频午夜 | 国产精品亚洲精品日韩已满 | 欧美一区二区三区免费 | 色老成人精品视频在线观看 | 日韩一区精品视频在线看 | 一级免费| 欧美日韩国产不卡在线观看 | 美国黄色一级 |