2022年MySQL最新面試題 - MySQL數據庫基礎知識

      網友投稿 703 2022-05-30

      1、平時Mysql主要用哪個版本

      2、數據庫三大范式是什么

      3、MySQL有關權限的表都有哪幾個

      4、MySQL的binlog有有幾種錄入格式?分別有什么區別?

      5、平時用到哪些關系型數據庫和非關系數據庫, 可以談談你對它們的理解嗎?

      6、可以簡單說說你對MySQL的邏輯架構了解嗎?

      7、了解MySQL中的MVCC是什么?

      8、PostgreSQL相對于MySQL的優勢

      9、PostgreSQL和MySQL的一些區別

      出現概率: ★★★★

      可以說說自己用的MySQL版本, 比如我自己用的版本是5.7版本,然后可以也簡單聊聊這個版本的一些特點:

      1)、安全性

      在MySQL 5.7中,有不少安全性相關的改進。包括:

      MySQL數據庫初始化完成以后,會產生一個 root@localhost 用戶,從MySQL 5.7開始,root用戶的密碼不再是空,而是隨機產生一個密碼,這也導致了用戶安裝5.7時發現的與5.6版本比較大的一個不同點。

      MySQL官方已經刪除了test數據庫,默認安裝完后是沒有test數據庫的,就算用戶創建了test庫,也可以對test庫進行權限控制了

      MySQL 5.7版本提供了更為簡單SSL安全訪問配置,并且默認連接就采用SSL的加密方式。

      可以為用戶設置密碼過期策略,一定時間以后,強制用戶修改密碼。

      2)、靈活性

      MySQL 5.7的兩個全新的功能,即JSON和generate column

      2022年MySQL最新面試題 - MySQL數據庫基礎知識

      CREATE TABLE t1 (jdoc JSON); INSERT INTO t1 VALUES('{"key1": "value1", "key2": "value2"}');

      3)、可用性

      在線設置復制的過濾規則,不再需要重啟MySQL,只需要停止SQL thread,修改完成以后,啟動SQL thread

      這個主要大致談談你自己的理解, 也可以根據自己的理解多延展一些, 提高面試的加分。

      出現概率: ★★★

      第一范式:每個列都不可以再拆分。

      第二范式:在第一范式的基礎上,非主鍵列完全依賴于主鍵,而不能是依賴于主鍵的一部分。

      第三范式:在第二范式的基礎上,非主鍵列只依賴于主鍵,不依賴于其他非主鍵。

      在設計數據庫結構的時候,要盡量遵守三范式,如果不遵守,必須有足夠的理由。比如性能。事實上我們經常會為了性能而妥協數據庫的設計。

      出現概率: ★★★

      MySQL服務器通過權限表來控制用戶對數據庫的訪問,權限表存放在mysql數據庫里,由mysql_install_db腳本初始化。這些權限表分別user,db,table_priv,columns_priv和host。下面分別介紹一下這些表的結構和內容:

      user權限表:記錄允許連接到服務器的用戶帳號信息,里面的權限是全局級的。

      db權限表:記錄各個帳號在各個數據庫上的操作權限。

      table_priv權限表:記錄數據表級的操作權限。

      columns_priv權限表:記錄數據列級的操作權限。

      host權限表:配合db權限表對給定主機上數據庫級操作權限作更細致的控制。這個權限表不受GRANT和REVOKE語句的影響。

      出現概率: ★★★

      MySQL的binlog有三種格式: statement,row和mixed。

      1)、statement模式下,每一條會修改數據的sql都會記錄在binlog中。不需要記錄每一行的變化,減少了binlog日志量,節約了IO,提高性能。由于sql的執行是有上下文的,因此在保存的時候需要保存相關的信息,同時還有一些使用了函數之類的語句無法被記錄復制。

      2)、row級別下,不記錄sql語句上下文相關信息,僅保存哪條記錄被修改。記錄單元為每一行的改動,基本是可以全部記下來但是由于很多操作,會導致大量行的改動(比如alter table),因此這種模式的文件保存的信息太多,日志量太大。

      3)、mixed,一種折中的方案,普通操作使用statement記錄,當無法使用statement的時候使用row。

      此外,新版的MySQL中對row級別也做了一些優化,當表結構發生變化的時候,會記錄語句而不是逐行記錄。

      出現概率: ★★★★★

      主要講講你用過的關系型數據庫比如MySQL, 非關系數據庫(NoSql數據庫)比如Redis, MongoDB等等。

      1)、事務方面

      關系型數據庫的最大特點就是事務的一致性, 所以對于訂單模型 對一致性要求比較高的還是建議用MySQL。

      2)、關系數據庫的另一個特點就是其具有固定的表結構

      其實在業務模型中, 表結構固定反而是一件好事, 沒有約束的模型 更容易出問題。

      3)、復雜SQL,特別是多表關聯查詢

      NoSql是不支持JOIN 這種查詢的。

      4)、索引方式

      關系型數據庫:B樹、哈希等

      NoSql:鍵值索引

      5)、并發支持

      關系型數據庫:通過事務和鎖來支持并發,高并發情況下,執行效率較低。

      NoSql:打破了傳統關系型數據庫范式的約束和事務一致性,因此并發性能高。

      當然自己也可以多延伸看一下, 畢竟這個面試出現的概率還是蠻高的。

      出現概率: ★★★

      第一層是服務器層,主要提供連接處理、授權認證、安全等功能。

      第二層實現了 MySQL 核心服務功能,包括查詢解析、分析、優化、緩存以及日期和時間等所有內置函數,所有跨存儲引擎的功能都在這一層實現,例如存儲過程、觸發器、視圖等。

      第三層是存儲引擎層,存儲引擎負責 MySQL 中數據的存儲和提取。服務器通過 API 與存儲引擎通信,這些接口屏蔽了不同存儲引擎的差異,使得差異對上層查詢過程透明。除了會解析外鍵定義的 InnoDB 外,存儲引擎不會解析 SQL,不同存儲引擎之間也不會相互通信,只是簡單響應上層服務器請求。

      出現概率: ★★★

      MVCC 是多版本并發控制,在很多情況下避免加鎖,大都實現了非阻塞的讀操作,寫操作也只鎖定必要的行。

      InnoDB 的MVCC 通過在每行記錄后面保存兩個隱藏的列來實現,這兩個列一個保存了行的創建時間,一個保存行的過期時間間。不過存儲的不是實際的時間值而是系統版本號,每開始一個新的事務系統版本號都會自動遞增,事務開始時刻的系統版本號會作為事務的版本號,用來和查詢到的每行記錄的版本號進行比較。

      MVCC 只能在 READ COMMITTED 和 REPEATABLE READ 兩個隔離級別下工作,因為 READ UNCOMMITTED 總是讀取最新的數據行,而不是符合當前事務版本的數據行,而 SERIALIZABLE 則會對所有讀取的行都加鎖。

      出現概率: ★★★★

      在SQL的標準實現上要比MySQL完善,而且功能實現比較嚴謹;

      存儲過程的功能支持要比MySQL好,具備本地緩存執行計劃的能力;

      對表連接支持較完整,優化器的功能較完整,支持的索引類型很多,復雜查詢能力較強;

      PG主表采用堆表存放,MySQL采用索引組織表,能夠支持比MySQL更大的數據量。

      PG的主備復制屬于物理復制,相對于MySQL基于binlog的邏輯復制,數據的一致性更加可靠,復制性能更高,對主機性能的影響也更小。

      出現概率: ★★★★

      這個其實出現的概率還比較高, 自己可以說幾點就行了

      MySQL不支持地理數據類型。

      從9.2開始,PG支持json數據類型。相對于MySQL來說,PG對json的支持比較先進。他有一些json指定的操作符和函數,是的搜索json文本非常高效。9.4開始,可以以二進制的格式存儲json數據,支持在該列上進行全文索引(GIN索引),從而在json文檔中進行快速搜索。

      從5.7開始,MySQL支持json數據類型,比PG晚。也可以在json列上建立索引。然而對json相關的函數的支持比較有限。不支持在json列上全文索引。由于MySQL對SQL支持的限制,在存儲和處理json數據方面,MySQL不是一個很好的選擇。

      也歡迎關注我的公眾號: 漫步coding, 回復: mysql免費獲取最新Mysql面試題匯總(含答案)。 一起交流, 在coding的世界里漫步。

      希望這篇文章可以幫助大家, 也希望大家都能找到找到的好工作。

      MySQL 數據庫

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Docker這個新軟件究竟是用來干嘛的???
      下一篇:測試行業工作4年了,從只會“點點點”到了現在的測試開發,年薪30W+,還好當時沒有放棄
      相關文章
      亚洲最新视频在线观看| 国产亚洲成归v人片在线观看 | 中文字幕亚洲综合久久男男| 亚洲JIZZJIZZ妇女| 中文字幕在线观看亚洲日韩| 亚洲人成电影在线观看网| 亚洲欧洲日产v特级毛片| 亚洲黄色免费网址| 亚洲色大成网站www永久| 久久精品蜜芽亚洲国产AV| 99人中文字幕亚洲区 | 久久水蜜桃亚洲AV无码精品| 亚洲欧好州第一的日产suv| 在线观看亚洲AV日韩A∨| 亚洲精品无码久久久久牙蜜区| 亚洲综合精品第一页| 亚洲日韩国产欧美一区二区三区 | 亚洲婷婷第一狠人综合精品| 国产成人精品日本亚洲直接| 自拍日韩亚洲一区在线| 亚洲老熟女五十路老熟女bbw| 亚洲xxxxxx| 亚洲精品国产精品| 国产午夜亚洲精品不卡| 亚洲第一视频在线观看免费| 亚洲无码日韩精品第一页| 亚洲综合色自拍一区| 日本亚洲成高清一区二区三区| 亚洲AV中文无码乱人伦下载| 亚洲AV日韩精品久久久久久| 亚洲欧洲日产国码久在线观看| 亚洲天堂男人天堂| 亚洲ts人妖网站| 亚洲日韩国产一区二区三区在线 | 美国毛片亚洲社区在线观看| gogo全球高清大胆亚洲| 精品国产亚洲一区二区在线观看 | 亚洲色大成网站www永久男同| 亚洲国产AV无码一区二区三区 | 亚洲沟沟美女亚洲沟沟| 亚洲性线免费观看视频成熟|