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

MySQL系列之七 MySQL存儲引擎

 更新時間:2021年07月02日 15:58:19   作者:生生不息.連綿不絕  
存儲引擎是數(shù)據(jù)庫的核心,對于mysql來說,存儲引擎是以插件的形式運行的。雖然mysql支持種類繁多的存儲引擎,但是常用的就那么幾種。這篇文章主要給大家介紹MySQL存儲引擎的相關(guān)知識,一起看看吧

一、MyISAM存儲引擎

缺點:

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

優(yōu)點:

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

MyISAM引擎存儲文件:

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

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

二:InnoDB存儲引擎

特點:

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

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

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

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

強烈建議:啟用 innodb_file_per_table=ON,每個表單獨使用一個表空間存儲表的數(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、管理存儲引擎

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

查看當(dāng)前默認的存儲引擎:

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

設(shè)置默認的存儲引擎:

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

2、InnoDB存儲引擎的緩存

InnoDB存儲引擎的緩沖池通常緩沖池的命中不應(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ù),每次讀取可能需要讀取多個頁

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

三、其他存儲引擎

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

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

相關(guān)文章

  • gorm操作MySql數(shù)據(jù)庫的方法

    gorm操作MySql數(shù)據(jù)庫的方法

    這篇文章主要介紹了gorm操作MySql數(shù)據(jù)庫的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Mysql5.7修改root密碼教程

    Mysql5.7修改root密碼教程

    今天小編就為大家分享一篇關(guān)于Mysql5.7修改root密碼教程,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • MySQL數(shù)據(jù)庫數(shù)據(jù)刪除操作詳解

    MySQL數(shù)據(jù)庫數(shù)據(jù)刪除操作詳解

    本文我們將要學(xué)習(xí)的是作為刪除數(shù)據(jù)使用的?“DELETE”?語句,“DELETE”?語句是用來刪除數(shù)據(jù)的,它不能用來刪除數(shù)據(jù)表本身。刪除數(shù)據(jù)表使用的是?“DROP”?語句,而?“DELETE”?的作用只是用來刪除記錄而已
    2022-08-08
  • MYSQL將表名稱修改成大寫的存儲過程

    MYSQL將表名稱修改成大寫的存儲過程

    這篇文章主要為大家詳細介紹了MYSQL將表名稱修改成大寫的存儲過程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Oracle10個分區(qū)和Mysql分區(qū)區(qū)別詳解

    Oracle10個分區(qū)和Mysql分區(qū)區(qū)別詳解

    MySQL分區(qū)常用的是:range、list、hash、key,Oracle10g分區(qū)常用的是:range(范圍分區(qū))、list(列表分區(qū))、hash(哈希分區(qū))、range-hash(范圍—哈希分區(qū))、range-list(列表—復(fù)合分區(qū))。下面通過本文詳細給大家介紹Oracle10個分區(qū)和Mysql分區(qū)區(qū)別,一起看看
    2017-02-02
  • 詳解SparkSql輸出數(shù)據(jù)的方式

    詳解SparkSql輸出數(shù)據(jù)的方式

    在處理數(shù)據(jù)時,SparkSql提供了多種數(shù)據(jù)輸出方式,包括普通文件輸出、保存到數(shù)據(jù)庫和保存到Hive,普通文件輸出支持追加模式、覆寫模式、報錯模式和忽略模式,本文介紹SparkSql輸出數(shù)據(jù)的方式,感興趣的朋友一起看看吧
    2024-11-11
  • MySQL學(xué)習(xí)教程之聚簇索引

    MySQL學(xué)習(xí)教程之聚簇索引

    這篇文章主要給大家介紹了關(guān)于MySQL學(xué)習(xí)教程之聚簇索引的相關(guān)資料,文中通過圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Mysql5.7忘記root密碼怎么辦(簡單且有效方法)

    Mysql5.7忘記root密碼怎么辦(簡單且有效方法)

    本文給大家分享一個快速且簡單的方法來解決Mysql5.7忘記root密碼問題,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-02-02
  • MySQL MGR搭建過程中常遇見的問題及解決辦法

    MySQL MGR搭建過程中常遇見的問題及解決辦法

    這篇文章主要介紹了MySQL MGR搭建過程中常遇見的問題及解決辦法,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • mysql 5.7 docker 主從復(fù)制架構(gòu)搭建教程

    mysql 5.7 docker 主從復(fù)制架構(gòu)搭建教程

    這篇文章主要為大家詳細介紹了mysql 5.7 docker 主從復(fù)制架構(gòu)搭建教程,感興趣的小伙伴們可以參考一下
    2016-07-07

最新評論

息烽县| 浦北县| 星座| 吉首市| 临澧县| 七台河市| 东莞市| 蒙城县| 克拉玛依市| 建水县| 仙居县| 信宜市| 闵行区| 沅江市| 宜良县| 油尖旺区| 抚州市| 古蔺县| 元朗区| 东乡| 凉城县| 彰化县| 兰坪| 澎湖县| 广德县| 万全县| 榆林市| 县级市| 阿拉善右旗| 城口县| 辽源市| 安图县| 普格县| 乾安县| 新安县| 广丰县| 盈江县| 闻喜县| 韩城市| 凌海市| 澄江县|