2021 1 9 資料庫面試題

2021-10-14 08:45:55 字數 1213 閱讀 8958

原子性,要麼執行,要麼不執行

隔離性 所有操作全部執行完成以前其他會話不能看到過程

一致性 事務前後,資料額一致

永續性 一旦事務提交,對資料的改變就是永久的

多個事務讀可能會出現以下問題

髒讀:事務b讀取事務a還沒有提交的資料

不可重複讀:一行被檢索兩次,並且該行中的值在不同的讀取之間不同時

幻讀:當在事務處理過程中執行兩個相同的查詢,並且第二個查詢返回的行集合與第乙個查詢不同時這兩個區別在於,不可重複讀重點在一行,幻讀的重點,返回的集合不一樣

引擎 特性

myisam 不支援外來鍵,表鎖,插入資料時,鎖定整個表,查表總行數時,不需要全表掃瞄

innodb 支援外來鍵,行鎖,查表總行數時,全表掃瞄

索引 區別

hash hash索引,等值查詢效率高,不能排序,不能進行範圍查詢

b+ 資料有序,範圍查詢

索引 區別

聚集索引 資料按索引順序儲存,中子結點儲存真實的物理資料

非聚集索引 儲存指向真正資料行的指標

索引最大的好處是提高查詢速度

缺點是更新資料時查詢效率低,因為要同時更新索引

對資料進行頻繁查詢進建立索引,如果要頻繁更改資料不建議使用索引

一是主索引的區別,innodb的資料檔案本身就是索引檔案。而myisam的索引和資料是分開的

二是輔助索引的區別:innondb的輔助索引data域儲存相應記錄

樹 區別

紅黑樹 增加、刪除、紅黑樹會進行頻繁的調整,來保證紅黑樹的性質,浪費時間

b樹也就是b-樹 b樹,查詢效能不穩定,查詢結果高度不一致,每個節點儲存指向真實數 據的指標,相比b+樹每一層儲存的元素更多,顯得更高

b+樹 b+樹相比較於另外兩種樹,顯得更矮更寬,查詢層次更淺

乙個m階的b+樹具有如下幾個特徵

有k個子樹的中間節點包含有k個元素,每個元素不儲存資料,只用來索引,所欲資料都儲存在葉子節點

所有葉子節點中包含了全部元素的資訊,及指向含這些元素記錄的指標,且葉子節點本身依關鍵字的大小自小而大順序鏈結

所有的中間節點元素都同時存在於子節點,在子節點元素中是最大元素

索引查詢過程中就要產生磁碟i/o消耗,主要看io次數,和磁碟訪問原理有關

根據b-tree的定義,可知檢索一次最多需要訪問h個節點。資料庫系統的設計這巧妙利用了磁碟預讀原理,將乙個節點的大小設為等於乙個頁,這樣每個節點只需呀一次i/o就可以完全載入。區域性性原理與磁碟預讀。

面試題 資料庫

今天面試,遇到資料庫方面的問題,由於好久沒接觸過,很多都忘記了,回來查了資料,整理一下 1 觸發器與儲存過程的區別 觸發器 是一種特殊型別的儲存過程,當使用下面的一種或多種資料修改操作在指定表中對資料進行修改時,觸發器會生效 update insert 或 delete。觸發器可以查詢其它表,而且可...

資料庫 面試題

正規化 第一正規化 1nf 所謂第一正規化 1nf 是指在關係模型中,所有的域都應該是原子性的,而不能是集合 陣列 記錄等非原子資料項。第二正規化 2nf 在1nf基礎上消除非主屬性對主碼的部分函式依賴。第三正規化 3nf 在2nf基礎上消除非主屬性對主碼的傳遞函式依賴。巴斯 科德正規化 bcnf ...

資料庫面試題

這個主要是給自己看的,答案都是網上搜的 乙個叫department的表,裡面只有乙個字段 name 一共有4條紀錄,分別是a,b,c,d,對應四個球對,現在四個球對進行比賽,用一條sql語句顯示所有可能的比賽組合 select a.name,b.name fromdepartment a,depar...