大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 職業(yè)指南 最新的經(jīng)典mysql面試題及答案

最新的經(jīng)典mysql面試題及答案

更新時間:2023-01-28 15:51:37 來源:動力節(jié)點(diǎn) 瀏覽1420次

互聯(lián)網(wǎng)產(chǎn)品必然是需要有架構(gòu)的,架構(gòu)包含接入層、儲蓄層、邏輯處理等等,其中存儲層承載著數(shù)據(jù)落地和持久化的任務(wù),同時給邏輯處理層提供數(shù)據(jù)查詢功能支持。而一提到儲蓄層必然就要說數(shù)據(jù)庫了,對于數(shù)據(jù)庫的掌握也是軟件工程師面試時必考的知識點(diǎn)。

mysql面試題及答案

1.簡單描述mysql中, 索引、主鍵、唯一索引、聯(lián)合索引的區(qū)別,對數(shù)據(jù)庫的性能有什么影響(從讀寫兩方面)

  • 索引是一種特殊的文件,它們包含對數(shù)據(jù)表里所有記錄的引用指針
  • 索引的任務(wù)就是加快對數(shù)據(jù)的訪問速度
  • 普通索引允許被索引的列的數(shù)據(jù)包含重復(fù)值,如果索引的列不允許有重復(fù)值就可以使用唯一索引
  • 主鍵索引是特殊的唯一索引,一張表中只能有一個主鍵索引,由primary key關(guān)鍵字定義
  • 索引可以包含多個數(shù)據(jù)列,如index(columnA, columnB),就是聯(lián)合索引
  • 因?yàn)樗饕拇嬖冢蟠筇岣吡藬?shù)據(jù)庫的查詢效率,但是會降低增加、刪除、修改表的速度,因?yàn)閳?zhí)行這些代碼時還要操作索引文件

2. sql注入漏洞產(chǎn)生的原因,如何防止?

程序開發(fā)過程中沒有規(guī)范書寫sql語句,沒有對特殊字符進(jìn)行過濾都會導(dǎo)致sql注入的風(fēng)險

使用orm可以有效的防止sql注入,sql語句書寫盡量不要省略雙引號和單引號,過濾掉關(guān)鍵詞select update delete insert *等

3. 對于關(guān)系型數(shù)據(jù)庫而言,索引是相當(dāng)重要的概念,請回答索引相關(guān)的幾個問題

索引的目的是什么?

  • 快速訪問數(shù)據(jù)表中的特定信息,提高檢索速度
  • 創(chuàng)建唯一索引,保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性
  • 加速表與表之間的鏈接

索引對數(shù)據(jù)庫系統(tǒng)的負(fù)面影響是什么?

創(chuàng)建索引和維護(hù)索引也需要耗費(fèi)時間,這個時間隨著數(shù)據(jù)量的增加而增大,索引需要占用物理空間,

不光是表需要占據(jù)數(shù)據(jù)空間,每個索引也需要占用物理空間,對表進(jìn)行增、刪、改的時候索引也需要動態(tài)維護(hù),

這就降低了數(shù)據(jù)的維護(hù)速

為數(shù)據(jù)表建立索引的原則有哪些?

在最頻繁使用的,用以縮小查詢范圍的字段上建立索引

在頻繁使用的需要排序的字段上建立索引

什么情況下不宜建立索引?

對于查詢中很少設(shè)計(jì)的列以及重復(fù)值很多的列,不宜設(shè)計(jì)索引

對于一些特護(hù)的類型不宜建立索引,比如text類型

為什么重復(fù)值很多的列不宜設(shè)計(jì)索引?

因?yàn)槿绻貜?fù)值特別多,比如性別列只有男和女,當(dāng)我們?yōu)樾詣e列建立了索引的話,

輔助索引每次查詢男或女都會查詢出一半左右的主鍵值,然后再拿著這一半的主鍵值去走聚簇索引(主索引),反而比全表掃描性能還低,

這種情況下就不能建立索引

4. 解釋mysql外連接、內(nèi)連接、與自連接的區(qū)別?

交叉連接:交叉連接又叫笛卡爾積表,它是指不使用任何條件,將一個表中的所有記錄與另外一張表中的所有記錄一一匹配

內(nèi)連接:根據(jù)條件,只篩選兩個表中都有的記錄

外連接:分為左外連接、右外連接、全外連接

左外連接:左表為主表,左表中的記錄全部顯示,右表中所有匹配的記錄顯示,不匹配的記錄顯示為NULL

右外連接:與左相反

全外連接:mysql目前還不支持全外連接,但是可以使用union合并左外+右外=全外

5. mysql中的事務(wù)回滾機(jī)制概述

事務(wù)是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么都做完,要么都不做,

事務(wù)回滾是將一個事務(wù)中對數(shù)據(jù)庫的更新操作撤銷,事務(wù)回滾需要通過InnoDB中的回滾日志undo log來實(shí)現(xiàn)

6. sql語言包括哪幾部分? 每部分都有哪些操作關(guān)鍵字?

數(shù)據(jù)定義語言DDL:create/alter/drop table, create/drop index

數(shù)據(jù)操作語言DML: select insert update delete

數(shù)據(jù)控制語言DCL: grant revoke

數(shù)據(jù)查詢語言DQL: select

7. 完整性約束包括哪些?

數(shù)據(jù)的完整性是指數(shù)據(jù)的精確性和可靠性

與表有關(guān)的約束,包括列約束:not null非空約束,primary key主鍵約束,foreign key外鍵約束, unique唯一約束等

8. 什么是鎖?

加鎖是實(shí)現(xiàn)數(shù)據(jù)庫并發(fā)控制的非常重要的技術(shù),分為讀鎖和寫鎖,當(dāng)一個事務(wù)獲取了讀鎖,

其它事務(wù)就只能獲取讀鎖,不能獲取寫鎖,

當(dāng)一個事務(wù)優(yōu)先獲取了寫鎖,其它事務(wù)既不能獲取讀鎖也不能獲取寫鎖

但是mysql中又分為當(dāng)前讀和快照度,上面說的是當(dāng)前讀的情形,快照讀的話不影響其它事務(wù)獲取寫鎖

基本鎖類型包括行級鎖和表級所,InnoDB是行級鎖,MyISAM是表級鎖

9. 什么叫視圖?游標(biāo)是什么?

視圖是一種虛擬的表,具有和物理表相同的功能,可以對視圖進(jìn)行增刪改查操作,視圖由一個或多個表的行列組成的集合

對視圖表的修改不影響基本表,它使我們查詢數(shù)據(jù)更容易

游標(biāo):對于查詢出來的結(jié)果集作為一個單元來有效的處理,游標(biāo)可以定在該單元中的特定行,

一般不使用游標(biāo),但是需要逐條處理的時候就需要使用游標(biāo)

10. 如何通俗的理解三個范式?

第一范式是對屬性的原子性約束,要求屬性具有原子性,不可再分解;

第二范式是對記錄的唯一性約束,要求記錄有唯一標(biāo)識,即實(shí)體的唯一性

第三范式是對字段冗余性約束,即任何字段不能由其它字段派生出來,它要求字段沒有冗余

范式優(yōu)點(diǎn):減少數(shù)據(jù)冗余,使得更新快,體積小

缺點(diǎn):查詢需要多表關(guān)聯(lián)查詢,效率低

以上就是“最新的經(jīng)典mysql面試題及答案”,你能回答上來嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動力節(jié)點(diǎn)Java官網(wǎng)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 青青草国产免费一区二区 | 老妇激情毛片免费中国 | 亚洲精品国产成人99久久 | 亚洲国产精品一区二区不卡 | 男女性高清爱潮视频免费观看 | 中文亚洲欧美 | 九九伊人网 | 黄色亚洲毛片 | 国产精品线在线精品国语 | 伊人久久在线 | 久久久久久久久久鸭 | 精品国产91乱码一区二区三区 | 九九啪啪 | 99久久综合九九亚洲 | 久青草免费视频 | 国产成人综合一区人人 | 中国特级黄一级真人毛片 | 九九精彩视频在线观看视频 | 成人嫩草研究院永久网址 | 中文字幕日韩在线观看 | 九九精品国产 | 久久精彩 | 成人精品一区二区久久久 | 国产欧美亚洲精品第3页在线 | 国产成人综合亚洲亚洲欧美 | 亚洲天堂爱爱 | 亚洲欧美在线视频免费 | 手机看片欧美 | 欧美黑人巨大3dvideo | 国产综合精品 | 一级特黄a视频 | 国产www在线播放 | 日本免费一区尤物 | 欧美日韩高清在线观看 | 国产精品久久国产三级国不卡顿 | 欧美日韩精品一区三区 | 777奇米影视视频在线播放 | 福利国产 | 色婷婷一区二区三区四区成人 | 国产激情一区二区三区成人91 | 九九在线观看精品视频6 |