資料庫常用面試題 記錄

2021-10-09 03:45:14 字數 1100 閱讀 6062

mysql常見的兩種儲存引擎:mylsam和innodb

事務:是由一組sql語句組成的邏輯處理單元

為了達到上述事務特性,資料庫定義了幾種不同的事物隔離級別,如下:

mysql鎖分為表級鎖和行級鎖

選取最實用的字段屬性,盡可能減少字段寬度,盡量吧字段設定notnull 例如省份 性別 最好使用enum

使用鏈結(join)代替子查詢

使用聯合(union)來代替手動建立的臨時表

事務處理

鎖定表,優化事務處理

建立索引

優化查詢語句

資料索引的儲存是有序的

在有序的情況下,通過索引查詢乙個資料是無需便利索引記錄的

在極端情況下,資料索引的查詢效率為二分法查詢效率

表資料太少

經常插入,刪除,修改的表

資料重複且分布平均的表字段,假如使用者表的資料有10萬行,性別字段只有男和女兩個型別,且每個字段分布的概率為50%,那麼建立索引對查詢資料一般不會有所提高

第一正規化:每個列都不可以再拆分

第二正規化:非主鍵列完全依賴於主鍵,而不能是依賴於主鍵的一部分

第三正規化:非主鍵只能依賴於主鍵,不依賴於其他非主鍵

mysql中varchar和char有什麼區別

char是乙個定長字段,假如申請了char(10)的空間,那麼無論是繼儲存了多長內容,該字段都占用10個字元,而varchar是變長的,也就是說申請的只是最大長度,占用的空間為實際字元長度+1,最後乙個字串使用了多長的空間,在檢索效率上講,char>varchar,因此在使用中,如果確定某個欄位的值的長度,可以使用char,否則應盡量使用varchar,如果儲存使用者md5加密的密碼,則應該使用char

varchar(10)和int代表什麼含義

varchar的10代表了申請的空間長度,也是可以儲存的資料最大長度,而int的10只是代表了展示的長度,不足10位用0補充,也就是 int(1)和int(10)能儲存的數字大小是一樣的,占用的空間也是相同的,

當mysql單錶資料量過大時,需要進行優化,一般常見的措施如下

面試題記錄

面試題記錄 2012年6月13日杭州某網路技術公司 1,空指標自加 int p int pa null p pa p 求p的值 這道題考的貌似指標的加法,因為對於空指標比較敏感直接感覺有問題,所以填寫出錯.到底如何呢?直接反彙編之 int p int pa null 010d14f1 mov dwo...

面試題記錄

筆試面試題總結 1,var a 0 function a catch e 0 this.b bbb var aa new a settimeout function 0 settimeout的作用域是window,所以結果為1,2,bbb,b但是將 中的第二個settimeout去掉之後,結果為1,...

面試題記錄

1 linux實時檢視日誌 tail f catalina.out 2 linux檢視埠是否被占用 etstat tunlp grep 埠號,用於檢視指定埠號的程序情況 lsof i 80 3 linux查詢abc開頭的檔案的第一行輸出到指定檔案 system bin sh ls users zha...