数据库常见面试题汇总
數(shù)據(jù)庫面試知識點(diǎn)匯總
1.簡述關(guān)系型與非關(guān)系型數(shù)據(jù)庫的區(qū)別?
關(guān)系型數(shù)據(jù)庫的優(yōu)點(diǎn):
關(guān)系型數(shù)據(jù)庫的缺點(diǎn):
非關(guān)系型數(shù)據(jù)庫的優(yōu)點(diǎn):
非關(guān)系型數(shù)據(jù)庫的缺點(diǎn):
2.簡述為什么需要使用索引?
缺點(diǎn):
3.簡述數(shù)據(jù)庫索引采用B+樹不采用B樹的原因?
4.簡述MySQL索引有哪些類型?
5.簡述什么是聚簇索引及其優(yōu)缺點(diǎn)?
優(yōu)點(diǎn):
缺點(diǎn):
6.簡述InnoDB與MyISAM實(shí)現(xiàn)索引方式的區(qū)別?
7.簡述什么是聚簇索引與非聚簇索引?
8.主鍵索引是聚集索引還是非聚集索引?
9.簡述InnoDB為什么使用自增id作為主鍵?
10.簡述為什么主鍵越小越好?
11.簡述數(shù)據(jù)庫執(zhí)行查詢請求的過程?
注: 當(dāng)客戶端連接服務(wù)端進(jìn)程后,服務(wù)端進(jìn)程會為其創(chuàng)建進(jìn)程專門用于交互,當(dāng)斷開連接后,服務(wù)端不會立即進(jìn)行銷毀,而是會進(jìn)行緩存,用于下次新的連接,這樣可以不用頻繁的創(chuàng)建和銷毀線程,節(jié)省開銷。
12.簡述臟讀、幻讀、不可重復(fù)讀的定義?
13.簡述數(shù)據(jù)庫的隔離級別?
14.簡述MySQL可以從哪些方面做到性能優(yōu)化?
15.簡述MySQL為什么需要事務(wù)回滾機(jī)制?
在MySQL中事務(wù)回滾通過日志完成,所有事務(wù)進(jìn)行的修改都會先記錄到回滾日志中,然后再對數(shù)據(jù)庫中的對應(yīng)行進(jìn)行寫入。當(dāng)事務(wù)被提交后就無法回滾了。
回滾日志的作用:
16.簡述MySQL引擎InnoDB和MyISAM的區(qū)別?
InnoDB:
MyISAM:
總結(jié):
使用場景:
17.數(shù)據(jù)庫分庫分表的原因?
18.簡述什么是覆蓋索引?
19.簡述三大范式的特點(diǎn)?
20.簡述聚簇索引與非聚簇索引(輔助)的區(qū)別?
21.簡述事務(wù)的四大特性?
22.簡述創(chuàng)建索引的注意事項(xiàng)?
23.為什么索引的數(shù)量不能太多?
24.簡述數(shù)據(jù)庫的行級鎖與表鎖?
表鎖:
行級鎖:
行級鎖注意事項(xiàng):
行鎖的適用場景:
25.簡述為什么MySQL索引使用B+樹而不用hash表和B樹?
26.簡述B樹的結(jié)構(gòu)及特點(diǎn)?
對于一個M階的B樹有以下特征:
27.簡述B+樹的結(jié)構(gòu)及特點(diǎn)?
對于一個M階的B樹有以下特征:
28.數(shù)據(jù)庫如何保證事務(wù)的ACID特性?
29.簡述使用redo的好處?
30.如何解決數(shù)據(jù)庫高并發(fā)問題?
31.簡述聯(lián)合索引的最左匹配原則?
32.簡述SQL語句的優(yōu)先級順序?
33.簡述索引失效的情況?
如何檢查索引是否失效:
34.簡述什么情況下不應(yīng)該創(chuàng)建索引?
總結(jié)
以上是生活随笔為你收集整理的数据库常见面试题汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用Python写网络爬虫pdf
- 下一篇: php mysql关键字查询_使用php