佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > MySQL系列之七 MySQL存儲(chǔ)引擎

MySQL系列之七 MySQL存儲(chǔ)引擎

熱門標(biāo)簽:鐵路電話系統(tǒng) AI電銷 百度競價(jià)排名 地方門戶網(wǎng)站 網(wǎng)站排名優(yōu)化 Linux服務(wù)器 呼叫中心市場需求 服務(wù)外包

一、MyISAM存儲(chǔ)引擎

缺點(diǎn):

  1. 不支持事務(wù)
  2. 最小粒度鎖:表級
  3. 讀寫相互阻塞,寫入不能讀,讀時(shí)不能寫
  4. 不支持MVCC(支持多版本并發(fā)控制機(jī)制)
  5. 不支持聚簇索引
  6. 不支持?jǐn)?shù)據(jù)緩存
  7. 不支持外鍵
  8. 崩潰恢復(fù)性較差

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

  1. 最大支持256TB存儲(chǔ)空間
  2. 讀取數(shù)據(jù)較快,占用資源較少

MyISAM引擎存儲(chǔ)文件:

  • tbl_name.frm: 表格式定義
  • tbl_name.MYD: 數(shù)據(jù)文件
  • tbl_name.MYI: 索引文件

適用場景:MySQL5.5.5前默認(rèn)的數(shù)據(jù)庫引擎,在只讀(或者寫較少)、表較?。梢越邮荛L時(shí)間進(jìn)行修復(fù)操作)的場景適用

二:InnoDB存儲(chǔ)引擎

特點(diǎn):

  1. 64TB
  2. 支持事務(wù)
  3. 行級鎖
  4. 支持多版本并發(fā)控制機(jī)制(MVCC)
  5. 支持聚簇索引
  6. 支持?jǐn)?shù)據(jù)緩存
  7. 支持外鍵

InnoDB數(shù)據(jù)庫文件:

  • tb_name.frm:表格式定義
  • tb_name.ibd :數(shù)據(jù)文件

注意:默認(rèn)所有的innodb表數(shù)據(jù)文件存儲(chǔ)在數(shù)據(jù)庫目錄下的ibddata1, ibddata2, ... ,這樣極其不方便管理

強(qiáng)烈建議:啟用 innodb_file_per_table=ON,每個(gè)表單獨(dú)使用一個(gè)表空間存儲(chǔ)表的數(shù)據(jù)和索引

啟用:innodb_file_per_table

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

1、管理存儲(chǔ)引擎

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

查看當(dāng)前默認(rèn)的存儲(chǔ)引擎:

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

設(shè)置默認(rèn)的存儲(chǔ)引擎:

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

2、InnoDB存儲(chǔ)引擎的緩存

InnoDB存儲(chǔ)引擎的緩沖池通常緩沖池的命中不應(yīng)該小于99%

相關(guān)狀態(tài)變量:

MariaDB [(none)]> SHOW GLOBAL STATUS LIKE 'innodb%read%'\G
  • Innodb_buffer_pool_reads: 表示從物理磁盤讀取頁的次數(shù)
  • Innodb_buffer_pool_read_ahead: 預(yù)讀的次數(shù)
  • Innodb_buffer_pool_read_ahead_evicted: 預(yù)讀頁,但是沒有讀取就從緩沖池中被替換的頁數(shù)量,一般用來判斷預(yù)讀的效率
  • Innodb_buffer_pool_read_requests: 從緩沖池中讀取頁次數(shù)
  • Innodb_data_read: 總共讀入的字節(jié)數(shù)
  • Innodb_data_reads: 發(fā)起讀取請求的次數(shù),每次讀取可能需要讀取多個(gè)頁

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

平均每次讀取的字節(jié)數(shù) = Innodb_data_read / Innodb_data_reads

三、其他存儲(chǔ)引擎

  • Performance_Schema:Performance_Schema數(shù)據(jù)庫;
  • Memory :將所有數(shù)據(jù)存儲(chǔ)在RAM中,以便在需要快速查找參考和其他類似數(shù)據(jù)的環(huán)境中進(jìn)行快速訪問。適用存放臨時(shí)數(shù)據(jù)。引擎以前被稱為HEAP引擎;
  • MRG_MyISAM:使MySQL DBA或開發(fā)人員能夠?qū)σ幌盗邢嗤腗yISAM表進(jìn)行邏輯分組,并將它們作為一個(gè)對象引用。適用于VLDB(Very Large Data Base)環(huán)境,如數(shù)據(jù)倉庫;
  • Archive :為存儲(chǔ)和檢索大量很少參考的存檔或安全審核信息,只支持SELECT和INSERT操作;支持行級鎖和專用緩存區(qū);
  • Federated聯(lián)合:用于訪問其它遠(yuǎn)程MySQL服務(wù)器一個(gè)代理,它通過創(chuàng)建一個(gè)到遠(yuǎn)程MySQL服務(wù)器的客戶端連接,并將查詢傳輸?shù)竭h(yuǎn)程服務(wù)器執(zhí)行,而后完成數(shù)據(jù)存取,提供鏈接單獨(dú)MySQL服務(wù)器的能力,以便從多個(gè)物理服務(wù)器創(chuàng)建一個(gè)邏輯數(shù)據(jù)庫。非常適合分布式或數(shù)據(jù)集市環(huán)境;
  • BDB:可替代InnoDB的事務(wù)引擎,支持COMMIT、ROLLBACK和其他事務(wù)特性;
  • Cluster/NDB:MySQL的簇式數(shù)據(jù)庫引擎,尤其適合于具有高性能查找要求的應(yīng)用程序,這類查找需求還要求具有最高的正常工作時(shí)間和可用性;
  • CSV:CSV存儲(chǔ)引擎使用逗號(hào)分隔值格式將數(shù)據(jù)存儲(chǔ)在文本文件中??梢允褂肅SV引擎以CSV格式導(dǎo)入和導(dǎo)出其他軟件和應(yīng)用程序之間的數(shù)據(jù)交換;
  • BLACKHOLE :黑洞存儲(chǔ)引擎接受但不存儲(chǔ)數(shù)據(jù),檢索總是返回一個(gè)空集。該功能可用于分布式數(shù)據(jù)庫設(shè)計(jì),數(shù)據(jù)自動(dòng)復(fù)制,但不是本地存儲(chǔ);
  • example:“stub”引擎,它什么都不做??梢允褂么艘鎰?chuàng)建表,但不能將數(shù)據(jù)存儲(chǔ)在其中或從中檢索。目的是作為例子來說明如何開始編寫新的存儲(chǔ)引擎。

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

您可能感興趣的文章:
  • Mysql中存儲(chǔ)引擎的區(qū)別及比較
  • MySQL 常見存儲(chǔ)引擎的優(yōu)劣
  • MySQL高級學(xué)習(xí)筆記(三):Mysql邏輯架構(gòu)介紹、mysql存儲(chǔ)引擎詳解
  • MySQL學(xué)習(xí)(七):Innodb存儲(chǔ)引擎索引的實(shí)現(xiàn)原理詳解
  • MySQL系列之十四 MySQL的高可用實(shí)現(xiàn)
  • MySQL系列之十五 MySQL常用配置和性能壓力測試
  • MySQL系列之三 基礎(chǔ)篇
  • MySQL系列之一 MariaDB-server安裝
  • MySQL系列之二 多實(shí)例配置

標(biāo)簽:銅川 仙桃 崇左 黃山 蘭州 衡水 湖南 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL系列之七 MySQL存儲(chǔ)引擎》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    灵宝市| 大兴区| 罗城| 滕州市| 平阴县| 杭州市| 阿克苏市| 宝兴县| 丁青县| 呼和浩特市| 宝清县| 临泽县| 沙坪坝区| 涞水县| 大埔县| 清镇市| 宣汉县| 昌江| 海安县| 寿宁县| 桂平市| 平昌县| 柘城县| 海丰县| 巴塘县| 昭通市| 罗定市| 松潘县| 和平县| 万安县| 洮南市| 南岸区| 永安市| 古交市| 沙湾县| 九台市| 塔城市| 龙江县| 齐齐哈尔市| 马尔康县| 高尔夫|