Mysql之其他總結

日誌類型

 

數據類型

1.更小的通常更好
能正確存儲的最小數據類型,優點是佔用磁盤、內存和CPU都少
2.簡單就好
3.儘量避免使用null
在數據庫中null不等於null
對遊湖和索引和值的比較都很複雜

MyISAM和InnoDB存儲引擎對比

對比項MyISAMInnoDB
主外鍵 不支持 支持
事務 不支持 支持
行級鎖 表鎖,即使操作一條記錄也會鎖住整個表,不適合高併發的操作 行鎖,操作時只鎖一行,不對其他行有影響,適合高併發的操作
緩存 只緩存索引,不緩存真實數據 不僅緩存索引還要緩存真是數據,對內存要求較高,而且內存大小對性能由決定性的影響
表空間
關注點 性能 事務
默認安裝

存儲引擎
Mylsam:
Mylsam索引文件和數據文件是分離的
對應三個文件:frm:存儲表結構信息、MYD:存儲數據行、MYI:存儲索引
使用B+Tree作爲索引結構,葉節點的data域存放的是數據記錄的地址。
查詢一條數據的時候,如果查詢條件增加了索引,會先從MYI文件中找到對應行的索引信息,在通過索引中data的磁盤地址值去MYD文件查詢數據。

 

Innodb:
Innodb表數據文件本身就是按B+Tree組織的一個索引結構文件
對應兩個文件:frm:存儲表結構信息、ibd:存儲索引及數據行
該存儲引擎會把表數據直接存儲到葉子節點的data裏
總結:`Innodb的主鍵索引就是聚集索引,Mylsam是非聚集索引

 

相關係列文章:

 0.Mysql之如何插入數據剖析mysql各個技術點 :通過插入一條數據的過程引出mysql知識點:

1.mysql之事務隔離級別以及MVCC:ACID、事務級別以及產生問題、MVCC(三個隱藏字段、undolog、read_view詳解)

2.Mysql之Innodb鎖場景:鎖分類、RC下各種加鎖情況、RR下各種加鎖情況

3.Mysql之主從複製原理:主從複製原理、二次提交、MTS、組提交、GTID

4.Mysql之數據結構 :hash、二叉樹、AVL、平衡二叉樹(紅黑樹)、B-Tree、B+Tree

5.Mysql之索引 :回表、索引覆蓋、索引下推、MRR、FIC、索引方式、哈希索引

6.Mysql之其他知識  :日誌、MyiSAM和InnoDB比較,基礎知識體系

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章