關於Mysql資料庫

2021-06-27 00:56:29 字數 1130 閱讀 6948

1、首先從mysql儲存引擎說起、什麼是儲存引擎呢?在mysql中、儲存引擎是指儲存mysql資料表的不同的儲存技術、這樣可以滿足不同的業務需求

常見的mysql儲存引擎(儲存技術):innodb、memory、myisam

2、innodb的特點:支援事務、支援外來鍵、支援自動增長列

優點:提供良好的事務處理、崩潰修復和併發控制

缺點:讀寫效率差、占用空間大

業務場景:傳統的嚴格要求事務一致性的場景、比如銀行的轉賬匯款、要求併發控制,需要頻繁進行更新、刪除操作的資料庫

3、memory的特點:資料儲存到記憶體

優點:處理速度非常快

缺點:資料容易丟失、生命周期短

場景:適合應用程式、需要初始化或不會變動的資料、對資料的安全性要求較低,使用相對較小的資料庫表

4、myisam的特點:資料訪問帶索引、frm儲存表結構、myd儲存資料、myi儲存索引

優點:占用空間小、處理速度快

缺點:不支援事務的完整性和併發性

場景:對事務沒要求、並需要高速訪問資料的場景(類似hbase的場景)、應用完整性、併發性要求很低

5、acid特性:資料庫事務正確執行的四個特性

5.1、原子性(atomicity)

整個事務中的所有操作,要麼全部完成,要麼全部不完成,不可能停滯在中間某個環節。事務在執行過程中發生錯誤,會被回滾(rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。

5.2、一致性(consistency)

在事務開始之前和事務結束以後,資料庫的完整性約束沒有被破壞。

5.3、隔離性(isolation)

兩個事務的執行是互不干擾的,乙個事務不可能看到其他事務執行時,中間某一時刻的資料。

5.4、永續性(durability)

在事務完成以後,該事務所對資料庫所作的更改便持久的儲存在資料庫之中,並不會被回滾。

由於一項操作通常會包含許多子操作,而這些子操作可能會因為硬體的損壞或其他因素產生問題,要正確實現acid並不容易。acid建議資料庫將所有需要更新 以及修改的資料一次操作完畢,但實際上並不可行。

6、目前實現acid的方式有兩種:第一種是write ahead logging,也就是日誌式的方式。第二種是shadow paging。第一種wal(預寫入)的方式比較常用。

關於MySQL資料庫

mysql最流行的關係型資料庫管理系統 mysql官網 mysql是web應用方面最好的rdbms應用軟體之一 rdbms relational database management system關聯式資料庫管理系統 問 什麼是資料庫?答 資料庫 database 是按照資料結構來組織 儲存和管理...

關於MySQL資料庫

mysql屬於關係型資料庫 說到mysql資料庫就必須說一下sql語句 sql是結構化查詢語言,是一種用來操作rdbms的資料庫語言,當前關係型資料庫都支援使用sql語言進行操作,也就是說可以通過 sql 操作 oracle,sql server,mysql,sqlite 等等所有的關係型的資料庫 ...

關於MySQL資料庫

mysql最流行的關係型資料庫管理系統 mysql官網 mysql是web應用方面最好的rdbms應用軟體之一 rdbms relational database management system關聯式資料庫管理系統 問 什麼是資料庫?答 資料庫 database 是按照資料結構來組織 儲存和管理...