【MYISAM和INNODB】【關係型資料庫和非關係資料庫】
阿新 • • 發佈:2019-01-22
1 MYISAM和INNODB
MYSQL的兩種儲存引擎區別(事務、鎖級別等等)
1.1 各自的適用場景?
MYISAM 不支援事務,不支援外來鍵,表鎖,插入資料時,鎖定整個表,查表總行數時,不需要全表掃描
INNODB 支援事務,支援外來鍵,行鎖,查表總行數時,全表掃描
1.2 InnoDB索引和MyISAM索引的區別?
一是主索引的區別,InnoDB的資料檔案本身就是索引檔案。而MyISAM的索引和資料是分開的。
二是輔助索引的區別:InnoDB的輔助索引data域儲存相應記錄主鍵的值而不是地址。而MyISAM的輔助索引和主索引沒有多大區別
2 關係型資料庫和非關係資料庫
2.1 關係型資料庫mysql
- 關係型資料庫,是指採用了關係模型來組織資料的資料庫,
- 關係型資料庫的最大特點就是事務的一致性;
2.1.1優點
- 容易理解:二維表結構是非常貼近邏輯世界一個概念,關係模型相對網狀、層次等其他模型來說更容易理解;
- 使用方便:通用的SQL語言使得操作關係型資料庫非常方便;
- 易於維護:豐富的完整性(實體完整性、參照完整性和使用者定義的完整性)大大減低了資料冗餘和資料不一致的概率;
- 支援SQL,可用於複雜的查詢。
2.1.2缺點
- 為了維護一致性所付出的巨大代價就是其讀寫效能比較差;
- 固定的表結構;
- 不支援高併發讀寫需求;
- 不支援海量資料的高效率讀寫;
2.2 非關係型資料庫
- 使用鍵值對儲存資料;
- 分散式;
2.2.1優點
- 無需經過sql層的解析,讀寫效能很高
- 基於鍵值對,資料沒有耦合性,容易擴充套件
- 儲存資料的格式:nosql的儲存格式是key,value形式
2.2.2缺點
- 不支援事務
- 不提供sql支援