MySQL 面试题汇总
生活随笔
收集整理的這篇文章主要介紹了
MySQL 面试题汇总
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.說一下 MySQL 執(zhí)行一條查詢語句的內(nèi)部執(zhí)行過程?
答:MySQL 執(zhí)行一條查詢的流程如下:
- 客戶端先通過連接器連接到 MySQL 服務(wù)器;
- 連接器權(quán)限驗(yàn)證通過之后,先查詢是否有查詢緩存,如果有緩存(之前執(zhí)行過此語句)則直接返回緩存數(shù)據(jù),如果沒有緩存則進(jìn)入分析器;
- 分析器會(huì)對查詢語句進(jìn)行語法分析和詞法分析,判斷 SQL 語法是否正確,如果查詢語法錯(cuò)誤會(huì)直接返回給客戶端錯(cuò)誤信息,如果語法正確則進(jìn)入優(yōu)化器;
- 優(yōu)化器是對查詢語句進(jìn)行優(yōu)化處理,例如一個(gè)表里面有多個(gè)索引,優(yōu)化器會(huì)判別哪個(gè)索引性能更好;
- 優(yōu)化器執(zhí)行完就進(jìn)入執(zhí)行器,執(zhí)行器則開始執(zhí)行語句進(jìn)行查詢比對了,直到查詢到滿足條件的所有數(shù)據(jù),然后進(jìn)行返回。
2.MySQL 查詢緩存有什么優(yōu)缺點(diǎn)?
答:MySQL 查詢緩存功能是在連接器之后發(fā)生的,它的優(yōu)點(diǎn)是效率高,如果已經(jīng)有緩存則會(huì)直接返回結(jié)果。
查詢緩存的缺點(diǎn)是失效太頻繁導(dǎo)致緩存命中率比較低,任何更新表操作都會(huì)清空查詢緩存,因此導(dǎo)致查詢緩存非常容易失效。
3.MySQL 的常用引擎都有哪些?
答:MySQL 的常用引擎有 InnoDB、MyISAM、Memory 等,從 MySQL 5.5.5 版本開始 InnoDB 就成為了默認(rèn)的存儲(chǔ)引擎。
4.常用的存儲(chǔ)引擎 InnoDB 和 MyISAM 有什么區(qū)別?
答:InnoDB 和 MyISAM 最大的區(qū)別是 InnoDB 支持事務(wù),而 MyISAM 不支持事務(wù),它們其他主要區(qū)別如下:
總結(jié)
以上是生活随笔為你收集整理的MySQL 面试题汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java核心(二)深入理解线程池Thre
- 下一篇: 面试必备的分布式事物方案