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