一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

MySQL 基礎(chǔ)模塊的面試題

 印度阿三17 2019-09-27

MySQL 執(zhí)行一條查詢語句的內(nèi)部執(zhí)行過程?

1.客戶端先通過連接器連接到Mysql服務(wù)器。

2.連接器權(quán)限驗(yàn)證通過之后,先查詢是否有查詢緩存。若之前執(zhí)行過此語句有緩存,則直接返回緩存數(shù)據(jù),否則直接進(jìn)入分析器。

3.分析器會對查詢語句進(jìn)行語法分析和詞法分析,判斷SQL語法是否正確。如果查詢語法錯誤就直接返回錯誤信息給客戶端。若語法正確則進(jìn)入優(yōu)化器。

4.優(yōu)化器對查詢語句進(jìn)行優(yōu)化處理,例如一個表中包含多個索引,優(yōu)化器會判別哪個索引性能更好。

5.優(yōu)化器執(zhí)行完就進(jìn)入執(zhí)行器,執(zhí)行器就開始執(zhí)行語句進(jìn)行查詢比對,直到滿足條件的所有數(shù)據(jù)查詢完畢,然后返回?cái)?shù)據(jù)。

MySQL 提示“不存在此列”是執(zhí)行到哪個節(jié)點(diǎn)報(bào)出的?

此錯誤是執(zhí)行到分析器階段,因?yàn)镸ysql在此階段會檢查SQL語句的正確性。

MySQL 查詢緩存的功能有何優(yōu)缺點(diǎn)?

MySQL查詢緩存功能是在連接器鏈接MySQL服務(wù)器之后發(fā)生的。

優(yōu)點(diǎn):效率高,如果有緩存則直接返回緩存數(shù)據(jù)。

缺點(diǎn):失效太頻繁導(dǎo)致緩存命中率比較低,任何更新表操作都會清空查詢緩存,因此導(dǎo)致查詢緩存非常容易失效。

如何關(guān)閉 MySQL 的查詢緩存功能?

MySQL 查詢緩存默認(rèn)是開啟的,配置 querycachetype 參數(shù)為 DEMAND(按需使用)關(guān)閉查詢緩存。

MySQL 8.0 之后直接刪除了查詢緩存的功能。

MySQL 可以針對表級別設(shè)置數(shù)據(jù)庫引擎嗎?怎么設(shè)置?

可以針對不同的表設(shè)置不同的引擎。在 create table 語句中使用 engine=引擎名(比如Memory)來設(shè)置此表的存儲引擎。

完整代碼如下:

create table student(
   id int primary key auto_increment,
   username varchar(120),
   age int
) ENGINE=Memory

MySQL 的常用引擎都有哪些?

MySQL 的常用引擎有 InnoDB、MyISAM、Memory 等。

MySQL 5.5.5 版本開始 InnoDB 就成為了默認(rèn)的存儲引擎

常用的存儲引擎 InnoDB 和 MyISAM 有什么區(qū)別?

InnoDB 和 MyISAM 最大的區(qū)別是InnoDB 支持事務(wù),而 MyISAM 不支持事務(wù)。

主要區(qū)別:

1.InnoDB 支持崩潰后安全恢復(fù),MyISAM 不支持崩潰后安全恢復(fù)。

2.InnoDB 支持行級鎖,MyISAM 不支持行級鎖,只支持到表鎖。

3.InnoDB 支持外鍵,MyISAM 不支持外鍵。

4.MyISAM 性能比 InnoDB 高。

5.MyISAM 支持 FULLTEXT 類型的全文索引,InnoDB 不支持 FULLTEXT 類型的全文索引,但是 InnoDB 可以使用 sphinx 插件支持全文索引,并且效果更好。

6.InnoDB 主鍵查詢性能高于 MyISAM。

InnoDB 有哪些特性?

1.插入緩沖(insert buffer):對于非聚集索引的插入和更新,不是每一次直接插入索引頁中,而是首先判斷插入的非聚集索引頁是否在緩沖池中,如果在,則直接插入,否則,先放入一個插入緩沖區(qū)中。好似欺騙數(shù)據(jù)庫這個非聚集的索引已經(jīng)插入到葉子節(jié)點(diǎn)了,然后再以一定的頻率執(zhí)行插入緩沖和非聚集索引頁子節(jié)點(diǎn)的合并操作,這時通常能將多個插入合并到一個操作中,這就大大提高了對非聚集索引執(zhí)行插入和修改操作的性能。

2.兩次寫(double write):兩次寫給 InnoDB 帶來的是可靠性,主要用來解決部分寫失敗(partial page write)。doublewrite 有兩部分組成,一部分是內(nèi)存中的 doublewrite buffer ,大小為 2M,另外一部分就是物理磁盤上的共享表空間中連續(xù)的 128 個頁,即兩個區(qū),大小同樣為 2M。當(dāng)緩沖池的作業(yè)刷新時,并不直接寫硬盤,而是通過 memcpy 函數(shù)將臟頁先拷貝到內(nèi)存中的 doublewrite buffer,之后通過 doublewrite buffer 再分兩次寫,每次寫入 1M 到共享表空間的物理磁盤上,然后馬上調(diào)用 fsync 函數(shù),同步磁盤。如下圖所示:

3.自適應(yīng)哈希索引(adaptive hash index):由于 InnoDB 不支持 hash 索引,但在某些情況下 hash 索引的效率很高,于是出現(xiàn)了 adaptive hash index 功能, InnoDB 存儲引擎會監(jiān)控對表上索引的查找,如果觀察到建立 hash 索引可以提高性能的時候,則自動建立 hash 索引。

一張自增表中有三條數(shù)據(jù),刪除了兩條數(shù)據(jù)之后重啟數(shù)據(jù)庫,再新增一條數(shù)據(jù),此時這條數(shù)據(jù)的 ID 是幾?

如果這張表的引擎是 MyISAM,那么 ID=4,如果是 InnoDB 那么 ID=2(MySQL 8 之前的版本)。

MySQL 中什么情況會導(dǎo)致自增主鍵不能連續(xù)?

以下情況會導(dǎo)致 MySQL 自增主鍵不能連續(xù):

唯一主鍵沖突會導(dǎo)致自增主鍵不連續(xù)

事務(wù)回滾也會導(dǎo)致自增主鍵不連續(xù)

來源:https://www./content-2-472051.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    精品国产亚洲一区二区三区| 一区二区三区日韩中文| 色婷婷人妻av毛片一区二区三区| 99久久精品午夜一区| 九九热这里有精品20| 最新午夜福利视频偷拍| 国产av熟女一区二区三区四区| 成人免费视频免费观看| 日韩精品福利在线观看| 国产一区二区三区午夜精品| 欧美一二三区高清不卡| 国产二级一级内射视频播放| 国产精品一区二区高潮| 一区二区不卡免费观看免费| 免费黄片视频美女一区| 微拍一区二区三区福利| 国产不卡的视频在线观看| av在线免费观看一区二区三区| 日本高清不卡一二三区| 欧美91精品国产自产| 在线一区二区免费的视频| 国产熟女一区二区精品视频| 夫妻性生活一级黄色录像| 精品人妻一区二区四区| 四十女人口红哪个色好看| 熟女少妇一区二区三区蜜桃| 成年人免费看国产视频| 日韩人妻少妇一区二区| 亚洲欧美黑人一区二区| 欧美黑人在线精品极品| 欧美黑人黄色一区二区| 一区二区不卡免费观看免费| 欧美av人人妻av人人爽蜜桃| 一区二区福利在线视频| 国内外免费在线激情视频| 国产精品十八禁亚洲黄污免费观看 | 色无极东京热男人的天堂| 老司机这里只有精品视频| 一区二区三区18禁看| 中文字幕亚洲精品人妻| 青青操视频在线播放免费|