數據庫是程序開發的基礎,數據庫相關的就業目前也是一片大好,其中,MySQL是當下最流行的關系型數據庫管理系統(RDBMS)之一,此篇文章中我們就列舉出了數據庫相關崗位面試的常見技術性問題。
數據庫基礎知識
為什么要使用數據庫
什么是SQL?
什么是MySQL?
數據庫三大范式是什么
mysql有關權限的表都有哪幾個
MySQL的binlog有有幾種錄入格式?分別有什么區別?
數據類型
mysql有哪些數據類型
引擎
MySQL存儲引擎MyISAM與InnoDB區別
MyISAM索引與InnoDB索引的區別?
InnoDB引擎的4大特性
存儲引擎選擇
索引
什么是索引?
索引有哪些優缺點?
索引使用場景(重點)
索引有哪幾種類型?
索引的數據結構(b樹,hash)
索引的基本原理
索引算法有哪些?
索引設計的原則?
創建索引的原則(重中之重)
創建索引的三種方式,刪除索引
創建索引時需要注意什么?
使用索引查詢一定能提高查詢的性能嗎?為什么
百萬級別或以上的數據如何刪除
什么是最左前綴原則?什么是最左匹配原則
B樹和B+樹的區別
使用B樹的好處
使用B+樹的好處
Hash索引和B+樹所有有什么區別或者說優劣呢?
數據庫為什么使用B+樹而不是B樹
B+樹在滿足聚簇索引和覆蓋索引的時候不需要回表查詢數據,
什么是聚簇索引?何時使用聚簇索引與非聚簇索引
非聚簇索引一定會回表查詢嗎?
聯合索引是什么?為什么需要注意聯合索引中的順序?
事務
什么是數據庫事務?
事物的四大特性(ACID)介紹一下?
什么是臟讀?幻讀?不可重復讀?
什么是事務的隔離級別?MySQL的默認隔離級別是什么?
鎖
對MySQL的鎖了解嗎
隔離級別與鎖的關系
按照鎖的粒度分數據庫鎖有哪些?鎖機制與InnoDB鎖算法
從鎖的類別上分MySQL都有哪些鎖呢?像上面那樣子進行鎖定豈不是有點阻礙并發效率了
MySQL中InnoDB引擎的行鎖是怎么實現的?
InnoDB存儲引擎的鎖的算法有三種
什么是死鎖?怎么解決?
數據庫的樂觀鎖和悲觀鎖是什么?怎么實現的?
視圖
為什么要使用視圖?什么是視圖?
視圖有哪些特點?
視圖的使用場景有哪些?
視圖的優點
視圖的缺點
什么是游標?
存儲過程與函數
什么是存儲過程?有哪些優缺點?
觸發器
什么是觸發器?觸發器的使用場景有哪些?
MySQL中都有哪些觸發器?
常用SQL語句
SQL語句主要分為哪幾類
超鍵、候選鍵、主鍵、外鍵分別是什么?
SQL 約束有哪幾種?
六種關聯查詢
什么是子查詢
子查詢的三種情況
mysql中 in 和 exists 區別
varchar與char的區別
varchar(50)中50的涵義
int(20)中20的涵義
mysql為什么這么設計
mysql中int(10)和char(10)以及varchar(10)的區別
FLOAT和DOUBLE的區別是什么?
drop、delete與truncate的區別
UNION與UNION ALL的區別?
SQL優化
如何定位及優化SQL語句的性能問題?創建的索引有沒有被使用到?或者說怎么才可以知道這條語句運行很慢的原因?
SQL的生命周期?
大表數據查詢,怎么優化
超大分頁怎么處理?
mysql 分頁
慢查詢日志
關心過業務系統里面的sql耗時嗎?統計過慢查詢嗎?對慢查詢都怎么優化過?
為什么要盡量設定一個主鍵?
主鍵使用自增ID還是UUID?
字段為什么要求定義為not null?
如果要存儲用戶的密碼散列,應該使用什么字段進行存儲?
優化查詢過程中的數據訪問
優化長難的查詢語句
優化特定類型的查詢語句
優化關聯查詢
優化子查詢
優化LIMIT分頁
優化UNION查詢
優化WHERE子句
了解以上面試題的正確答案,歡迎來到石家莊新華電腦學校學習軟件開發類型相關專業進行學習,學高端技術、做專業IT人才,石家莊新華幫助你!
來源:CSDN網