MySQL從使用到進階
1.關係型數據庫中的佼佼者
MySQL作爲衆多的關係型數據庫中的一員,其具有服務輕量級,服務易於搭建和維護。提供多種客戶端連接語言的數據庫服務器。
2.MySQL數據庫服務器
3. MySQL 數據庫服務器的優化方案
由於MySQL 數據庫具有讀寫鎖的特性。在高併發的情況下,同時對一條數據進行讀寫操作,性能會很低。
優化方案:主從複製,實現讀寫的分離。
4. MySQL 數據庫的創建
數據庫的創建一般:注意創建數據庫的編碼格式即可。
注意事項:
- 分庫中,保持數據操作的事務。持久化到不同數據庫中數據的事務(瞭解)。
- 數據量大的時候,實現分庫的方案。
5.Mysql 數據表的創建
-
表名稱創建,遵循命名規範。表的設計遵循三範式。數據庫三範式
-
表中字段的設計:
字段類型主要分爲以下幾種: (1)字符類型 varchar,char varchar(20)可以存儲多少漢字 (2)數字類型: 整數類型,小數類型,精確的數據類型 decimal int(11)含義 (3)時間類型:Date,時間戳
6. Mysql 索引(重點)
索引的原理:
索引的優缺點:所有的軟件設計中,有優點就一定會有缺陷
6.1 索引的種類
-
單列索引:主鍵索引,唯一鍵索引,普通索引
主鍵索引和主鍵索引的區別: 1.主鍵索引只能有一個,唯一鍵索引可以有多個 2.主鍵索引不能爲null,唯一鍵索引可以有多個null 值
-
組合索引:聯合索引
聯合索引創建的原則:最左匹配原則(重點)
-
全文索引:myisam存儲引擎中特有的索引類型(瞭解)
-
聚集索引(重點)
-
非聚集索引
6.2 索引的原理 B+ tree
1.樹數據結構詳解
二叉樹,二叉查找樹,平衡二叉查找樹,AVL 樹,紅黑樹,B 樹
B+樹
注意,平衡二叉樹屬於平衡樹,不屬於B樹
B 樹:非葉子節點 孩子節點爲M M>2 不是等於2
B+ 屬於多路查找的平衡樹
2.數據庫索引文章
3.索引原理
6.3 索引使用事項
- 索引創建的原則:
- 慢查詢優化,mysql索引失效
7. Mysql 存儲引擎
MySQL主要的存儲引擎主要分爲:innodb,myisam
- 索引類型不同:innodb默認採用的聚集索引,索引和數據存儲到同一個文件中。myisam 採用的是非聚集索引,索引文件和數據文件分開存儲。
- innodb支持外鍵,myisam不支持。
- innodb支持事務,myisam不支持。
- innobd默認採用行鎖,myisam 默認表鎖。
- myisam 支持全文檢索。
8.Mysql 中的事務(重點)
8.1 事務特性:ACID
- 原子性
- 一致性
- 隔離性
- 持久性
8.2 併發訪問出現的問題
- 髒讀
- 不可重複讀
- 幻讀
8.3 事務的隔離級別
- 讀未提交
- 讀已提交
- 可重複讀
- 串行化