MySQL 基础模块的面试题总结
生活随笔
收集整理的這篇文章主要介紹了
MySQL 基础模块的面试题总结
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
說一下 MySQL 執(zhí)行一條查詢語句的內(nèi)部執(zhí)行過程?
- 客戶端先通過連接器連接到 MySQL 服務(wù)器。
- 連接器權(quán)限驗證通過之后,先查詢是否有查詢緩存,如果有緩存(之前執(zhí)行過此語句)則直接返回緩存數(shù)據(jù),如果沒有緩存則進入分析器。
- 分析器會對查詢語句進行語法分析和詞法分析,判斷 SQL 語法是否正確,如果查詢語法錯誤會直接返回給客戶端錯誤信息,如果語法正確則進入優(yōu)化器。
- 優(yōu)化器是對查詢語句進行優(yōu)化處理,例如一個表里面有多個索引,優(yōu)化器會判別哪個索引性能更好。
- 優(yōu)化器執(zhí)行完就進入執(zhí)行器,執(zhí)行器就開始執(zhí)行語句進行查詢比對了,直到查詢到滿足條件的所有數(shù)據(jù),然后進行返回。
MySQL 提示“不存在此列”是執(zhí)行到哪個節(jié)點報出的?
此錯誤是執(zhí)行到分析器階段報出的,因為 MySQL 會在分析器階段檢查 SQL 語句的正確性。
MySQL 查詢緩存的功能有何優(yōu)缺點?
MySQL 查詢緩存功能是在連接器之后發(fā)生的,它的優(yōu)點是效率高,如果已經(jīng)有緩存則會直接返回結(jié)果。 查詢緩存的缺點是失效太頻繁導(dǎo)致緩存命中率比較低,任何更新表操作都會清空查詢緩存,因此導(dǎo)致查詢緩存非常容易失效。
如何關(guān)閉 MySQL 的查詢緩存功能?
MySQL 查詢緩存默認是開啟的,配置 querycachetype 參數(shù)為 DEMAND(按需使用)關(guān)閉查詢緩存,MySQL 8.0 之后直接刪除了查詢緩存的功能。
MySQL 的常用引擎都有哪些?
MySQL 的常用引擎有 InnoDB、MyISAM、Memory 等,從 MySQL 5.5.5 版本開始 InnoDB 就成
總結(jié)
以上是生活随笔為你收集整理的MySQL 基础模块的面试题总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第 6-1 课:Spring 核心 +
- 下一篇: 经典面试题:如何保证缓存与数据库的双写一