MySQL資料庫儲存引擎

2021-10-10 04:58:14 字數 1429 閱讀 4597

1、mysql中的資料用各種不同的技術儲存檔案中,每一種技術都使用不同的儲存機制、索引技巧、鎖定水平並最終提供不同的功能和能力,這些不同的技術以及配套的功能在mysql中稱為儲存引擎

2、儲存引擎時mysql將資料儲存在檔案系統中的儲存方式或者儲存格式

3、mysql常用的儲存引擎

1、myisam不支援事務,也不支援外來鍵

2、訪問速度快

3、對事務完整性沒有要求

4、myisam在磁碟上儲存成三個檔案

1 .frm檔案儲存表定義

2 資料檔案的擴充套件名為.myd(mydata)

3 索引檔案的副檔名是.myi(myindex)

5、表級鎖定形式,資料在更新時鎖定整個表

6、資料庫在讀寫過程中相互阻塞

1、會在資料寫入的過程阻塞使用者資料的讀取

2、也會在資料讀取的過程中阻塞使用者的資料寫入

7、資料單獨寫入或讀取,速度過程較快且占用資源相對少

8、myisam支援的儲存格式

1、靜態表

2、動態表

3、壓縮表

9、myisam適用的生產場景舉例

1、公司業務不需要事務的支援

2、單方面讀取或寫入資料比較多的業務

3、myisam儲存引擎資料讀寫都比較頻繁場景不適合

4、使用讀寫併發訪問相對較低的業務

5、資料修改相對較少的業務

6、對資料業務一致性要求不是非常高的業務

7、伺服器硬體資源相對比較差

1、innodb特點介紹

1、支援4個事務隔離級別

2、行級鎖定,但是全表掃瞄仍然會是表級鎖定

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

4、能非常高效的快取索引和資料

5、表與主鍵以簇的方式儲存

6、支援分割槽、表空間、類似oracle資料庫

7、支援外來鍵約束,5.5前不支援全文索引,5.5後支援全文索引

8、對硬體資源要求還是比較高的場合

2、innodb適用生產場景分析

1、業務需要事務的支援

2、行級鎖定對高併發有很好的適用能力,但需要確保查詢是通過索引來完成

3、業務資料更新較為頻繁的場景,如:論壇,微博等

4、業務資料一致性要求較高,如:銀行業務

5、硬體裝置記憶體較大,利用innodb較好的快取能力來提高記憶體利用率,減少磁碟io的壓力

方法一:alter table修改

mysql> alter table 庫名 engine=myisam;

方法二:修改my.cnf配置檔案,指定預設儲存引擎並重啟服務

vim my.cnf

default-storage-engine=innodb

方法三:create table建立表時指定儲存引擎

mysql> create table engine test(id int) engine=myisam;

Mysql資料庫儲存引擎

儲存引擎是什麼?mysql中的資料用各種不同的技術儲存在檔案 或者記憶體 中。這些技術中的每一種技術都使用不同的儲存機制 索引技巧 鎖定水平並且最終提供廣泛的不同的功能和能力。通過選擇不同的技術,你能夠獲得額外的速度或者功能,從而改善你的應用的整體功能。例如,如果你在研究大量的臨時資料,你也許需要使...

資料庫 mysql儲存引擎

mysql常用的四種引擎的介紹 1 myisam儲存引擎 不支援事務 也不支援外來鍵,優勢是訪問速度快,對事務完整性沒有要求或者以select,insert為主的應用基本上可以用這個引擎來建立表,適合寫多的情況。frm儲存當前資料表的結構,myd儲存當前表的資料,myi儲存當前資料表的索引 支援表級...

mysql資料庫儲存引擎

我們在 mysql儲存引擎有哪些 一節中介紹了 mysql 中幾種主要的儲存引擎以及它們的使用特性,本節將介紹如何根據不同的應用場景去選擇合適的儲存引擎。在使用 mysql 資料庫管理系統時,選擇乙個合適的儲存引擎是乙個非常複雜的問題。不同的儲存引擎都有各自的特性 優勢和使用的場合,正確的選擇儲存引...