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

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

最新的經典mysql面試題及答案

更新時間:2023-01-28 15:51:37 來源:動力節點 瀏覽1286次

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

mysql面試題及答案

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

  • 索引是一種特殊的文件,它們包含對數據表里所有記錄的引用指針
  • 索引的任務就是加快對數據的訪問速度
  • 普通索引允許被索引的列的數據包含重復值,如果索引的列不允許有重復值就可以使用唯一索引
  • 主鍵索引是特殊的唯一索引,一張表中只能有一個主鍵索引,由primary key關鍵字定義
  • 索引可以包含多個數據列,如index(columnA, columnB),就是聯合索引
  • 因為索引的存在,大大提高了數據庫的查詢效率,但是會降低增加、刪除、修改表的速度,因為執行這些代碼時還要操作索引文件

2. sql注入漏洞產生的原因,如何防止?

程序開發過程中沒有規范書寫sql語句,沒有對特殊字符進行過濾都會導致sql注入的風險

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

3. 對于關系型數據庫而言,索引是相當重要的概念,請回答索引相關的幾個問題

索引的目的是什么?

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

索引對數據庫系統的負面影響是什么?

創建索引和維護索引也需要耗費時間,這個時間隨著數據量的增加而增大,索引需要占用物理空間,

不光是表需要占據數據空間,每個索引也需要占用物理空間,對表進行增、刪、改的時候索引也需要動態維護,

這就降低了數據的維護速

為數據表建立索引的原則有哪些?

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

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

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

對于查詢中很少設計的列以及重復值很多的列,不宜設計索引

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

為什么重復值很多的列不宜設計索引?

因為如果重復值特別多,比如性別列只有男和女,當我們為性別列建立了索引的話,

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

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

4. 解釋mysql外連接、內連接、與自連接的區別?

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

內連接:根據條件,只篩選兩個表中都有的記錄

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

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

右外連接:與左相反

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

5. mysql中的事務回滾機制概述

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

事務回滾是將一個事務中對數據庫的更新操作撤銷,事務回滾需要通過InnoDB中的回滾日志undo log來實現

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

數據定義語言DDL:create/alter/drop table, create/drop index

數據操作語言DML: select insert update delete

數據控制語言DCL: grant revoke

數據查詢語言DQL: select

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

數據的完整性是指數據的精確性和可靠性

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

8. 什么是鎖?

加鎖是實現數據庫并發控制的非常重要的技術,分為讀鎖和寫鎖,當一個事務獲取了讀鎖,

其它事務就只能獲取讀鎖,不能獲取寫鎖,

當一個事務優先獲取了寫鎖,其它事務既不能獲取讀鎖也不能獲取寫鎖

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

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

9. 什么叫視圖?游標是什么?

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

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

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

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

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

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

第二范式是對記錄的唯一性約束,要求記錄有唯一標識,即實體的唯一性

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

范式優點:減少數據冗余,使得更新快,體積小

缺點:查詢需要多表關聯查詢,效率低

以上就是“最新的經典mysql面試題及答案”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節點Java官網。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 天天干天天要 | 日韩精品特黄毛片免费看 | 色网站在线观看 | 这里只有精品首页 | 久久久久免费视频 | 在线精品国产 | 日本另类αv欧美另类aⅴ | 成人欧美一区二区三区视频不卡 | 国产一区二区在线不卡 | 欧美视频二区 | 久久久午夜 | 国产福利视频 | 国产伦精品一区二区三区免费迷 | 日本高清中文字幕在线观穿线视频 | 久久国内精品视频 | 奇米网狠狠网 | 国产毛片在线高清视频 | 国产精品福利自产拍网站 | 米奇7777狠狠狠狠视频影院 | 久久久久久久综合日本亚洲 | 99爱精品视频 | 日本欧美一区二区三区乱码 | 中文字幕 日韩在线 | 国产午夜精品久久久久 | 成人亚洲欧美 | 国产中文久久精品 | 视色在线| 成人精品一区二区久久 | 五月婷婷色网 | 久久精品国产福利 | 天天干天天做天天操 | 亚洲国产精久久久久久久 | 第一福利视频网 | 狠久久| 色片网站在线观看 | f性欧美| 久久最新免费视频 | 99ri精品视频在线观看播放 | 久久大香香蕉国产免费网站 | 日本香蕉视频在线观看 | 热热色国产|