91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL存儲引擎的介紹及使用

發布時間:2021-07-02 17:19:38 來源:億速云 閱讀:130 作者:chen 欄目:開發技術

本篇內容介紹了“MySQL存儲引擎的介紹及使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、MyISAM存儲引擎

缺點:

  1. 不支持事務

  2. 最小粒度鎖:表級

  3. 讀寫相互阻塞,寫入不能讀,讀時不能寫

  4. 不支持MVCC(支持多版本并發控制機制)

  5. 不支持聚簇索引

  6. 不支持數據緩存

  7. 不支持外鍵

  8. 崩潰恢復性較差

優點:

  1. 最大支持256TB存儲空間

  2. 讀取數據較快,占用資源較少

MyISAM引擎存儲文件:

  • tbl_name.frm: 表格式定義

  • tbl_name.MYD: 數據文件

  • tbl_name.MYI: 索引文件

適用場景:MySQL5.5.5前默認的數據庫引擎,在只讀(或者寫較少)、表較小(可以接受長時間進行修復操作)的場景適用

二:InnoDB存儲引擎

特點:

  1. 64TB

  2. 支持事務

  3. 行級鎖

  4. 支持多版本并發控制機制(MVCC)

  5. 支持聚簇索引

  6. 支持數據緩存

  7. 支持外鍵

InnoDB數據庫文件:

  • tb_name.frm:表格式定義

  • tb_name.ibd :數據文件

注意:默認所有的innodb表數據文件存儲在數據庫目錄下的ibddata1, ibddata2, ... ,這樣極其不方便管理

強烈建議:啟用 innodb_file_per_table=ON,每個表單獨使用一個表空間存儲表的數據和索引

啟用:innodb_file_per_table

編輯/etc/my.cnf在[mysqld]下添加 innodb_file_per_table
重啟服務器 # service mysqld restart
MariaDB [(none)]> SHOW VARIABLES LIKE 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+

1、管理存儲引擎

查看mysql支持的存儲引擎: MariaDB [(none)]> SHOW ENGINES\G

查看當前默認的存儲引擎:

MariaDB [(none)]> SHOW VARIABLES LIKE 'storage_engine';
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| storage_engine | InnoDB |
+----------------+--------+

設置默認的存儲引擎:

編輯/etc/my.conf在[mysqld]下添加
default_storage_engine = InnoDB

2、InnoDB存儲引擎的緩存

InnoDB存儲引擎的緩沖池通常緩沖池的命中不應該小于99%

相關狀態變量:

MariaDB [(none)]> SHOW GLOBAL STATUS LIKE 'innodb%read%'\G
  • Innodb_buffer_pool_reads: 表示從物理磁盤讀取頁的次數

  • Innodb_buffer_pool_read_ahead: 預讀的次數

  • Innodb_buffer_pool_read_ahead_evicted: 預讀頁,但是沒有讀取就從緩沖池中被替換的頁數量,一般用來判斷預讀的效率

  • Innodb_buffer_pool_read_requests: 從緩沖池中讀取頁次數

  • Innodb_data_read: 總共讀入的字節數

  • Innodb_data_reads: 發起讀取請求的次數,每次讀取可能需要讀取多個頁

Innodb緩沖池命中率 = Innodb_buffer_pool_read_requests / ( Innodb_buffer_pool_read_requests + Innodb_buffer_pool_read_ahead + Innodb_buffer_pool_reads )

平均每次讀取的字節數 = Innodb_data_read / Innodb_data_reads

三、其他存儲引擎

  • Performance_Schema:Performance_Schema數據庫;

  • Memory :將所有數據存儲在RAM中,以便在需要快速查找參考和其他類似數據的環境中進行快速訪問。適用存放臨時數據。引擎以前被稱為HEAP引擎;

  • MRG_MyISAM:使MySQL DBA或開發人員能夠對一系列相同的MyISAM表進行邏輯分組,并將它們作為一個對象引用。適用于VLDB(Very Large Data Base)環境,如數據倉庫;

  • Archive :為存儲和檢索大量很少參考的存檔或安全審核信息,只支持SELECT和INSERT操作;支持行級鎖和專用緩存區;

  • Federated聯合:用于訪問其它遠程MySQL服務器一個代理,它通過創建一個到遠程MySQL服務器的客戶端連接,并將查詢傳輸到遠程服務器執行,而后完成數據存取,提供鏈接單獨MySQL服務器的能力,以便從多個物理服務器創建一個邏輯數據庫。非常適合分布式或數據集市環境;

  • BDB:可替代InnoDB的事務引擎,支持COMMIT、ROLLBACK和其他事務特性;

  • Cluster/NDB:MySQL的簇式數據庫引擎,尤其適合于具有高性能查找要求的應用程序,這類查找需求還要求具有最高的正常工作時間和可用性;

  • CSV:CSV存儲引擎使用逗號分隔值格式將數據存儲在文本文件中。可以使用CSV引擎以CSV格式導入和導出其他軟件和應用程序之間的數據交換;

  • BLACKHOLE :黑洞存儲引擎接受但不存儲數據,檢索總是返回一個空集。該功能可用于分布式數據庫設計,數據自動復制,但不是本地存儲;

  • example:“stub”引擎,它什么都不做。可以使用此引擎創建表,但不能將數據存儲在其中或從中檢索。目的是作為例子來說明如何開始編寫新的存儲引擎。

“MySQL存儲引擎的介紹及使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

左贡县| 将乐县| 固始县| 安图县| 敦化市| 南雄市| 于都县| 尚志市| 宜都市| 疏勒县| 祁东县| 新竹县| 汤原县| 宜春市| 北海市| 贡嘎县| 阿瓦提县| 永春县| 确山县| 包头市| 上饶市| 南康市| 漳州市| 海门市| 怀仁县| 曲周县| 三都| 西安市| 修文县| 乃东县| 珲春市| 兴安盟| 南郑县| 白银市| 宁都县| 静乐县| 丹巴县| 贵州省| 酒泉市| 枣强县| 溧阳市|