1.關(guān)系型 非關(guān)系型 底層數(shù)據(jù)結(jié)構(gòu)
? ? 關(guān)系型數(shù)據(jù)庫我用過的有MySQL弓乙,H2(網(wǎng)絡(luò)內(nèi)嵌)灰嫉,MYSQL使用的引擎不一樣,底層的數(shù)據(jù)結(jié)構(gòu)就不一樣确封,常用的InnoDB的底層是有B+樹構(gòu)成
? ? 非關(guān)系型的數(shù)據(jù)庫我用過的有MongoDB, Redis再菊,MongoDB的底層是B樹爪喘,B+樹是B樹的子類(多路搜索樹), Redis底層是hash(各個(gè)數(shù)據(jù)結(jié)構(gòu)的底層構(gòu)成纠拔,總結(jié)Redis時(shí)候細(xì)講)秉剑。
? ? 關(guān)系型數(shù)據(jù)庫效率不如非關(guān)系型數(shù)據(jù)庫,因?yàn)殛P(guān)系型數(shù)據(jù)庫數(shù)據(jù)一般存儲在磁盤上稠诲,非關(guān)系型數(shù)據(jù)庫一般存儲在內(nèi)存中侦鹏;
? ? 關(guān)系型數(shù)據(jù)庫支持SQL語句,非關(guān)系型不支持臀叙;
? ? 關(guān)系型數(shù)據(jù)庫是以表格形式存儲略水,非關(guān)系數(shù)據(jù)庫不是,MongoDB以JSON串存儲劝萤,Redis以key_value的格式存儲渊涝;
? ? 關(guān)系型數(shù)據(jù)庫支持事務(wù),非關(guān)系型數(shù)據(jù)庫有的不支持床嫌,但是MongoDB是從4.0版本以后開始支持跨释。
2.MySQL底層結(jié)構(gòu)
? ? 底層數(shù)據(jù)結(jié)構(gòu)上面講過;
? ? 存儲結(jié)構(gòu)的話是 segment->
3.MySQL 引擎 各個(gè)引擎 數(shù)據(jù)結(jié)構(gòu) 優(yōu)缺點(diǎn)?
4. explain?
5. mvcc 版本鏈? log種類 用途
6. 索引 類別 創(chuàng)建的原則 使索引不生效的SQL? 索引不是越多越好?
聚簇索引 非聚簇索引
7. SQL語句 執(zhí)行順序?
8. MySQL事務(wù)特性? 隔離級別 帶來的問題? 鎖?
9. 讀取方式 隱式加鎖 顯式加鎖 實(shí)時(shí)讀 快照讀?
10. 回表操作 聚簇索引 非聚簇索引
11. MySQL的log?
????????redo log(確保事務(wù)持久性)/undo log(確保事務(wù)原子性)/bin log(用于主從部署 主從復(fù)制)/error log/slow query log(SQL執(zhí)行慢的記錄)/general log/relay log