Mysql 簡單入門
該文章不講操作步驟,僅僅是做對mysql的認知,如有錯誤,請指出,相互探討。
事務
事務時mysql執行的最小單元。
事務四大特性:
- 原子性
- 一致性
- 隔離性
- 永續性
事務是如何保證原子性的?
這是因為一個undolog的日誌。比如說我們對一行資料進行操作,則會將其記錄在undolog裡面,只要不提交,則原表的資料則一直不變,當在undolog裡一個操作失敗,我們取消提交,則undolog裡所有的資訊清空。
搜尋引擎
MyISAM
- B+樹為索引
- 資料儲存到另外的地方,B+葉子結點用來儲存索引
- 產生3個檔案
- 表級鎖
InnoDB
- B+樹為索引
- 資料儲存到葉子結點
- 產生2個檔案
- 行級鎖
由上,可自行知道兩者的區別和一致性。而後我們來解決一些相關的常見問題。
- 為什麼InnoDB不適合全文索引,MyISAM適合?
答:我們來分析下:
-
如果用InnoDB做全文索引,那麼由於其儲存特性:資料儲存到葉子結點。資料多的話,記憶體肯定放不下。那麼操作應該是:
從磁碟載入部分資料放入記憶體。在記憶體中搜尋要查詢的資訊,如果沒有搜尋到,則然後不斷從磁碟上拿到資料放入記憶體,再載入,直到搜到需要查詢的資訊。 -
用MyISAM。儲存特性:索引存到葉子結點,那麼可以全部放於記憶體。
故,MyISAM更適合全文索引。
- InnoDB支援事務,MyISAM不支援事務?
- InnDB是行級鎖
- MyISAM是表級鎖
主從模式
講到主從模式,有個關鍵的東西叫做binlog。
binlog是用來儲存執行記錄的。就是對資料進行過操作的都會記錄下來,除了select。因為這個並沒有對資料產生實質性的修改。所以對debug沒用。
binlog作用:
- 恢復資料:當資料丟失,可以拿到昨天備份的資料,再根據binlog恢復資料
- 主從模式:master資料儲存後會儲存到binlog這時候會發布同步通知到slave裡面。
相關文章
- 《MySQL 入門教程》第 07 篇 簡單查詢MySql
- Azkaban 簡單入門
- Kafka簡單入門Kafka
- 簡單入門Kubernetes
- postgresql 簡單入門SQL
- git簡單入門Git
- SprintBoot簡單入門boot
- SpringSecurity簡單入門SpringGse
- Vue簡單入門Vue
- PWA超簡單入門
- Android 混淆簡單入門Android
- 小程式 – 簡單入門
- Rust Rocket簡單入門Rust
- Kubernetes Ingress簡單入門
- Quartz - Quartz簡單入門quartz
- 入門Flink,很簡單
- 《MySQL 入門教程》第 01 篇 MySQL 簡介MySql
- JDBC入門與簡單使用JDBC
- EChart.js簡單入門JS
- 貪心(入門簡單題)
- opengl簡單入門例項
- nuxt簡單入門安裝UX
- drools的簡單入門案例
- 簡單的 Go 入門教程Go
- NoSLQ之MongoDB簡單入門MongoDB
- MariaDB入門: 簡而言之 就是MySQLMySql
- ASP入門教程 1小時ASP入門,非常簡單
- CI 框架簡單入門筆記框架筆記
- ARouter簡單入門和介紹
- springmvc簡單學習(一)-----入門SpringMVC
- spring Cloud Gateway 入門簡單使用SpringCloudGateway
- Dubbo入門(2) - 簡單實踐
- vuex狀態管理簡單入門Vue
- SpringMVC入門就這麼簡單SpringMVC
- [2]SpinalHDL教程——Scala簡單入門
- Spring Data JPA的簡單入門Spring
- Dubbo入門(2) – 簡單實踐
- SpringDataJPA入門就這麼簡單Spring