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 簡單入門
- postgresql 簡單入門SQL
- SprintBoot簡單入門boot
- Vue簡單入門Vue
- Kafka簡單入門Kafka
- git簡單入門Git
- Espresso 簡單入門Espresso
- Groovy 簡單入門
- 小程式 – 簡單入門
- PWA超簡單入門
- SpringSecurity簡單入門SpringGse
- Quartz - Quartz簡單入門quartz
- AVFoundation 簡單入門二
- rxjs簡單入門JS
- canvas簡單入門(2)Canvas
- ViewModels 簡單入門View
- GitHub簡單入門教程Github
- akka入門-簡單示例
- Rust Rocket簡單入門Rust
- opengl簡單入門例項
- 簡單入門Kubernetes
- Android 混淆簡單入門Android
- drools的簡單入門案例
- NoSLQ之MongoDB簡單入門MongoDB
- 入門Flink,很簡單
- 簡單的 Go 入門教程Go
- 貪心(入門簡單題)
- 聊聊Dubbo(二):簡單入門
- JDBC入門與簡單使用JDBC
- EChart.js簡單入門JS
- require.js簡單入門UIJS
- Git/Github簡單入門指南Github
- nuxt簡單入門安裝UX
- 《MySQL 入門教程》第 01 篇 MySQL 簡介MySql
- ASP入門教程 1小時ASP入門,非常簡單
- ARouter簡單入門和介紹
- Dubbo入門(2) – 簡單實踐