首頁 資料庫 mysql教程 mysql一共有多少種儲存引擎?

mysql一共有多少種儲存引擎?

Jan 22, 2019 pm 03:59 PM
mysql 儲存引擎

執行下列指令查看所有mysql所有的儲存引擎【推薦教學:MySQL教學

mysql一共有多少種儲存引擎?

InnoDB儲存引擎

#InnoDB儲存引擎

InnoDB是事務型資料庫的首選引擎,支援事務安全表(ACID),支援行鎖定和外鍵,上圖也看到了,InnoDB是預設的MySQL引擎。 InnoDB主要功能有:

1、InnoDB給MySQL提供了具有提交、回溯和崩潰復原能力的事物安全(ACID相容)儲存引擎。 InnoDB鎖定在行級並且也在SELECT語句中提供一個類似Oracle的非鎖定讀。這些功能增加了多用戶部署和效能。在SQL查詢中,可以自由地將InnoDB類型的表和其他MySQL的表類型混合起來,甚至在同一個查詢中也可以混合

#2、InnoDB是為處理巨大資料量的最大效能設計。它的CPU效率可能是任何其他基於磁碟的關係型資料庫引擎鎖不能匹敵的

3、InnoDB儲存引擎完全與MySQL伺服器整合,InnoDB儲存引擎為在主記憶體中快取資料和索引而維持它自己的緩衝池。 InnoDB將它的表和索引在一個邏輯表空間中,表空間可以包含數個檔案(或原始磁碟檔案)。這與MyISAM表不同,例如在MyISAM表中每個表被存放在分離的文件中。 InnoDB表可以是任何尺寸,即使在檔案尺寸被限制為2GB的作業系統上

4、InnoDB支援外鍵完整性約束,儲存表中的資料時,每張表的儲存都按主鍵順序存放,如果沒有顯示在表定義時指定主鍵,InnoDB會為每一行產生一個6位元組的ROWID,並以此作為主鍵

5、InnoDB被用在眾多需要高效能的大型資料庫網站上

InnoDB不建立目錄,使用InnoDB時,MySQL將在MySQL資料目錄下建立一個名為ibdata1的10MB大小的自動擴充資料文件,以及兩個名為ib_logfile0和ib_logfile1的5MB大小的日誌檔案

MyISAM儲存引擎

MyISAM基於ISAM儲存引擎,並對其進行擴充。它是在Web、資料倉儲和其他應用程式環境下最常使用的儲存引擎之一。 MyISAM擁有較高的插入、查詢速度,但不支援事物。 MyISAM主要特性有:

1、大檔案(達到63位元檔案長度)在支援大檔案的檔案系統和作業系統上被支援

2、當把刪除和更新及插入操作混合使用的時候,動態尺寸的行產生較少碎片。這要透過合併相鄰被刪除的區塊,以及若下一個區塊被刪除,就擴展到下一塊自動完成

3、每個MyISAM表最大索引數是64,這可以透過重新編譯來改變。每個索引最大的列數是16

4、最大的鍵長度是1000字節,這也可以透過編譯來改變,對於鍵長度超過250位元組的情況,一個超過1024位元組的鍵將會被用上

5、BLOB和TEXT欄位可以被索引

6、NULL被允許在索引的欄位中,這個值佔每個鍵的0~1個位元組

7、所有數字鍵值以高位元組優先被儲存以允許一個更高的索引壓縮

#8、每個MyISAM類型的表都有一個AUTO_INCREMENT的內部列,當INSERT和UPDATE作業的時候該欄位被更新,同時AUTO_INCREMENT欄位將會被刷新。所以說,MyISAM類型表的AUTO_INCREMENT列更新比InnoDB類型的AUTO_INCREMENT更快

9、可以把資料檔和索引檔放在不同目錄

10、每個字元列可以有不同的字元集

11、有VARCHAR的表格可以固定或動態記錄長度

12、VARCHAR和CHAR欄位可以多達64KB

使用MyISAM引擎建立資料庫,將產生3個文件。檔案的名字以表名字開始,副檔名之處檔案類型:frm檔案儲存表定義、資料檔案的副檔名為。 MYD(MYData)、索引檔案的副檔名時。 MYI(MYIndex)

MEMORY儲存引擎

MEMORY儲存引擎將表中的資料儲存到記憶體中,未查詢和引用其他表資料提供快速存取。 MEMORY主要特性有:

1、MEMORY表的每個表可以有多達32個索引,每個索引16列,以及500位元組的最大鍵長度

2、MEMORY儲存引擎執行HASH和BTREE縮影

3、可以在一個MEMORY表中有非唯一鍵值

4、MEMORY表使用一個固定的記錄長度格式

#5 、MEMORY不支援BLOB或TEXT列

6、MEMORY支援AUTO_INCREMENT列和對可包含NULL值的列的索引


7、MEMORY表在所由客戶端之間共用(就像其他任何非TEMPORARY表)

###8、MEMORY表記憶體被儲存在記憶體中,記憶體是MEMORY表和伺服器在查詢處理時的空閒中,建立的內部表共享#######9 、當不再需要MEMORY表的內容時,要釋放被MEMORY表使用的內存,應該執行DELETE FROM或TRUNCATE TABLE,或者刪除整個表(使用DROP TABLE)######。存儲引擎的選擇### ###

mysql一共有多少種儲存引擎?

如果要提供提交、回滾、崩潰復原能力的事物安全(ACID相容)能力,並要求實現並發控制,InnoDB是一個好的選擇

如果數據表主要用來插入和查詢記錄,則MyISAM引擎能提供較高的處理效率

如果只是暫時存放數據,數據量不大,並且不需要較高的數據安全性,可以選擇將資料保存在記憶體中的Memory引擎,MySQL中使用該引擎作為臨時表,存放查詢的中間結果

如果只有INSERT和SELECT操作,可以選擇Archive,Archive支援高並發的插入操作,但是本身不是事務安全的。 Archive非常適合儲存歸檔數據,如記錄日誌資訊可以使用Archive

使用哪一種引擎需要靈活選擇,一個資料庫中多個表可以使用不同引擎以滿足各種效能和實際需求,使用合適的儲存引擎,將會提高整個資料庫的效能。


以上是mysql一共有多少種儲存引擎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

apache怎麼連接數據庫 apache怎麼連接數據庫 Apr 13, 2025 pm 01:03 PM

Apache 連接數據庫需要以下步驟:安裝數據庫驅動程序。配置 web.xml 文件以創建連接池。創建 JDBC 數據源,指定連接設置。從 Java 代碼中使用 JDBC API 訪問數據庫,包括獲取連接、創建語句、綁定參數、執行查詢或更新以及處理結果。

MySQL:世界上最受歡迎的數據庫的簡介 MySQL:世界上最受歡迎的數據庫的簡介 Apr 12, 2025 am 12:18 AM

MySQL是一種開源的關係型數據庫管理系統,主要用於快速、可靠地存儲和檢索數據。其工作原理包括客戶端請求、查詢解析、執行查詢和返回結果。使用示例包括創建表、插入和查詢數據,以及高級功能如JOIN操作。常見錯誤涉及SQL語法、數據類型和權限問題,優化建議包括使用索引、優化查詢和分錶分區。

MySQL的位置:數據庫和編程 MySQL的位置:數據庫和編程 Apr 13, 2025 am 12:18 AM

MySQL在數據庫和編程中的地位非常重要,它是一個開源的關係型數據庫管理系統,廣泛應用於各種應用場景。 1)MySQL提供高效的數據存儲、組織和檢索功能,支持Web、移動和企業級系統。 2)它使用客戶端-服務器架構,支持多種存儲引擎和索引優化。 3)基本用法包括創建表和插入數據,高級用法涉及多表JOIN和復雜查詢。 4)常見問題如SQL語法錯誤和性能問題可以通過EXPLAIN命令和慢查詢日誌調試。 5)性能優化方法包括合理使用索引、優化查詢和使用緩存,最佳實踐包括使用事務和PreparedStatemen

為什麼要使用mysql?利益和優勢 為什麼要使用mysql?利益和優勢 Apr 12, 2025 am 12:17 AM

選擇MySQL的原因是其性能、可靠性、易用性和社區支持。 1.MySQL提供高效的數據存儲和檢索功能,支持多種數據類型和高級查詢操作。 2.採用客戶端-服務器架構和多種存儲引擎,支持事務和查詢優化。 3.易於使用,支持多種操作系統和編程語言。 4.擁有強大的社區支持,提供豐富的資源和解決方案。

MySQL的角色:Web應用程序中的數據庫 MySQL的角色:Web應用程序中的數據庫 Apr 17, 2025 am 12:23 AM

MySQL在Web應用中的主要作用是存儲和管理數據。 1.MySQL高效處理用戶信息、產品目錄和交易記錄等數據。 2.通過SQL查詢,開發者能從數據庫提取信息生成動態內容。 3.MySQL基於客戶端-服務器模型工作,確保查詢速度可接受。

docker怎麼啟動mysql docker怎麼啟動mysql Apr 15, 2025 pm 12:09 PM

在 Docker 中啟動 MySQL 的過程包含以下步驟:拉取 MySQL 鏡像創建並啟動容器,設置根用戶密碼並映射端口驗證連接創建數據庫和用戶授予對數據庫的所有權限

laravel入門實例 laravel入門實例 Apr 18, 2025 pm 12:45 PM

Laravel 是一款 PHP 框架,用於輕鬆構建 Web 應用程序。它提供一系列強大的功能,包括:安裝: 使用 Composer 全局安裝 Laravel CLI,並在項目目錄中創建應用程序。路由: 在 routes/web.php 中定義 URL 和處理函數之間的關係。視圖: 在 resources/views 中創建視圖以呈現應用程序的界面。數據庫集成: 提供與 MySQL 等數據庫的開箱即用集成,並使用遷移來創建和修改表。模型和控制器: 模型表示數據庫實體,控制器處理 HTTP 請求。

解決數據庫連接問題:使用minii/db庫的實際案例 解決數據庫連接問題:使用minii/db庫的實際案例 Apr 18, 2025 am 07:09 AM

在開發一個小型應用時,我遇到了一個棘手的問題:需要快速集成一個輕量級的數據庫操作庫。嘗試了多個庫後,我發現它們要么功能過多,要么兼容性不佳。最終,我找到了minii/db,這是一個基於Yii2的簡化版本,完美地解決了我的問題。

See all articles