中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

MySQL之存儲引擎

發布時間:2020-07-21 11:49:09 來源:網絡 閱讀:328 作者:化澄風 欄目:MySQL數據庫

Storage Engine是指表類型,也即在表創建時指明其使用的存儲引擎,同一庫中不同表可以使用不同的存儲引擎,但建議要使用同一種存儲引擎

 

MySQL體系結構

MySQL之存儲引擎

 

存儲引擎

 MySQL之存儲引擎

InnoDB support for FULLTEXT indexes is available in MySQL 5.6.4 and later.

存儲引擎比較:https://docs.oracle.com/cd/E17952_01/mysql-5.5-en/storage-engines.html

 

MyISAM存儲引擎

MyISAM引擎特點:

不支持事務

表級鎖定

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

只緩存索引

不支持外鍵約束

不支持聚簇索引

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

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

崩潰恢復性較差

MySQL5.5.5前默認的數據庫引擎

 

適用場景:只讀(或者寫較少)、表較小(可以接受長時間進行修復操作)

MyISAM引擎文件:

tbl_name.frm: 表格式定義

tbl_name.MYD: 數據文件

tbl_name.MYI: 索引文件

 

InnoDB存儲引擎

InnoDB引擎特點:

支持事務,適合處理大量短期事務

行級鎖

讀寫阻塞與事務隔離級別相關

可緩存數據和索引

支持聚簇索引

崩潰恢復性更好

支持MVCC高并發

MySQL5.5后支持全文索引

MySQL5.5.5開始為默認的數據庫引擎

 

InnoDB數據庫文件

所有InnoDB表的數據和索引放置于同一個表空間中

表空間文件:datadir定義的目錄下

數據文件:ibddata1, ibddata2, ...

每個表單獨使用一個表空間存儲表的數據和索引

啟用:innodb_file_per_table=ON

兩類文件放在數據庫獨立目錄中

數據文件(存儲數據和索引)tb_name.ibd

表格式定義:tb_name.frm

 

其它存儲引擎

Performance_Schema:Performance_Schema數據庫

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

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

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

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

BDB:可替代InnoDB的事務引擎,支持COMMITROLLBACK和其他事務特性

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

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

BLACKHOLE :黑洞存儲引擎接受但不存儲數據,檢索總是返回一個空集。該功能可用于分布式數據庫設計,數據自動復制,但不是本地存儲(可作為MySQL主從復制中主和從的中間的庫)

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

 

MariaDB支持的其它存儲引擎:

OQGraph

SphinxSE

TokuDB

Cassandra

CONNECT

SQUENCE

 

管理存儲引擎

查看mysql支持的存儲引擎:

show engines;

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

show variables like '%storage_engine%';

設置默認的存儲引擎:

vim /etc/my.conf

[mysqld]

default_storage_engine= InnoDB;

查看庫中所有表使用的存儲引擎

Show table status from db_name;

查看庫中指定表的存儲引擎

show table status like 'tb_name';

show create table tb_name;

設置表的存儲引擎:

CREATE TABLE tb_name(... ) ENGINE=InnoDB;

ALTER TABLE tb_name ENGINE=InnoDB;


向AI問一下細節

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

AI

同江市| 元阳县| 白河县| 大石桥市| 镇远县| 深州市| 灵璧县| 登封市| 阳信县| 乐陵市| 牡丹江市| 南和县| 和龙市| 五台县| 犍为县| 浮梁县| 新竹市| 遂平县| 申扎县| 三明市| 巩留县| 岳池县| 苗栗市| 黑河市| 金溪县| 龙门县| 雷波县| 贺兰县| 玛多县| 五峰| 伊金霍洛旗| 承德市| 奉贤区| 乳山市| 滁州市| 化德县| 山阴县| 隆德县| 加查县| 平邑县| 敦化市|