银行面试之MySQL数据库
生活随笔
收集整理的這篇文章主要介紹了
银行面试之MySQL数据库
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
銀行面試之MySQL數(shù)據(jù)庫
- 存儲引擎(InnoDB Vs MyISAM)
- 約束
- char Vs varchar
- in Vs exists
- delete Vs truncate Vs drop
- 存儲過程 Vs 觸發(fā)器
- 視圖
存儲引擎(InnoDB Vs MyISAM)
| 支持事務(wù) | 不支持事務(wù) |
| 支持外鍵 | 不支持外鍵 |
| 支持表級鎖和行級鎖 | 只支持表級鎖 |
| 支持壓縮表和空間數(shù)據(jù)索引 | |
| 聚集索引,數(shù)據(jù)文件和索引綁在一起,必須要有主鍵 | 非聚集索引,數(shù)據(jù)和索引分離,索引保存的是數(shù)據(jù)的指針 |
| 不保存表的具體行數(shù) | 用一個變量保存了表的行數(shù) |
約束
| 非空約束(Not NULL) | 內(nèi)容不能為NULL |
| 唯一約束(Unique) | 內(nèi)容不能重復(fù),一個表允許有多個唯一約束 |
| 主鍵約束(Primary) | 能唯一且完整標(biāo)識數(shù)據(jù)對象的屬性及其組合,一個表中只能有一個主鍵 |
| 外鍵約束(Foreign) | 一個表中存在另一個表的主鍵即為此表的外鍵,防止破壞表之間連接的動作 |
| 檢查約束(Check) | 控制字段的值的范圍 |
char Vs varchar
| 定長字段,如果插入的長度小于定義長度時,則用空格填充 | 變長字段,小于定義長度時,還是按實際長度存儲 |
| 存儲速度快,空間換時間 | 節(jié)省存儲空間,時間換空間 |
in Vs exists
| 在查詢的時候,首先查詢子查詢的表,然后將內(nèi)表和外表做一個笛卡爾積,然后按照條件進(jìn)行篩選。所以相對內(nèi)表比較小的時候,in的速度較快。 | 遍歷循環(huán)外表,然后看外表中的記錄有沒有和內(nèi)表的數(shù)據(jù)一樣的。匹配上就將結(jié)果放入結(jié)果集中。適合內(nèi)表比較大的時候 |
如果查詢語句使用了not in 那么內(nèi)外表都進(jìn)行全表掃描,沒有用到索引;而not extsts 的子查詢依然能用到表上的索引。所以無論那個表大,用not exists都比not in要快。
delete Vs truncate Vs drop
| 刪除一行數(shù)據(jù) | 刪除所有的數(shù)據(jù) | 刪除整個表的數(shù)據(jù)+結(jié)構(gòu) |
| 可回滾 | 不可回滾 | 不可回滾 |
| 不會減少表或索引所占用的空間 | 表和索引所占用的空間會恢復(fù)到初始大小 | 將表所占用的空間全釋放掉 |
| DML | DDL | DDL |
| 每次刪除一行,就在事務(wù)日志中添加一項記錄 | 通過釋放存儲表數(shù)據(jù)所用的數(shù)據(jù)頁來刪除數(shù)據(jù),并且只在事務(wù)日志中記錄頁的釋放,因此刪除速度快于delete | 刪除速度最快 |
存儲過程 Vs 觸發(fā)器
| 存儲過程 (Stored Procedure) 是一組為了完成特定功能的 SQL 語句集 , 存儲在數(shù)據(jù)庫中 , 經(jīng)過第一次編譯后再次調(diào)用時不需要重新編譯 , 用戶通過指定存儲過程的名字并給出參數(shù) (如果該存儲過程帶有參數(shù)) 來執(zhí)行它 ; | 觸發(fā)器是一種特殊類型的存儲過程。觸發(fā)器主要是通過事件進(jìn)行觸發(fā)而被執(zhí)行 |
存儲過程的優(yōu)點
1、存儲過程比單個SQL語句的運行速度更快
2、在調(diào)用時只需要提供存儲過程名和參數(shù),可以在一定程度上降低網(wǎng)絡(luò)負(fù)擔(dān)
3、代碼精簡一致,可維護(hù)性高
4、可以一定程度增強(qiáng)安全性,可防止SQL注入攻擊
存儲過程的缺點
1、可移植性差
2、如果需要對參數(shù)或返回進(jìn)行更改的話較為復(fù)雜
視圖
視圖是一種虛擬的表,視圖本身并不包含任何數(shù)據(jù),它只包含映射到基表的一個查詢語句,當(dāng)基表數(shù)據(jù)發(fā)生變化,視圖數(shù)據(jù)也隨之變化。
總結(jié)
以上是生活随笔為你收集整理的银行面试之MySQL数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++奇偶数判断
- 下一篇: 达梦数据库报网络通讯异常排查步骤