寫這篇文章的主要緣由是
快速複習mysql知識點。主要是爲了面試作準備,因此看到關鍵字仍是不能快速回憶起相關知識的時候,說明這個知識點不熟或者忘了,再百度詳細學習下就好了哈,這裏只有關鍵字,想要詳細學習的道友直接跳過。mysql
寫這篇文章的背景是
不知君有沒有這種感覺,不少時候面試的問題,好像曾經複習過可是卻怎麼都回答不上來或者說來講去都說不到關鍵的點。而在面試官認爲回答不上來的都是不會。因此記錄下這篇文章給本身複習所用,若是對你也有用,共勉 ^_^面試
mysql中什麼狀況會致使自增主鍵不能連續?
經常使用的存儲引擎InnoDB和MyISAM有什麼區別?
- innodb支持事務,行級鎖,外鍵 ,主鍵查詢性能高
- myisam支持fulltext類型全文索引,僅表鎖,性能高
innodb 有哪些特性?
什麼是覆蓋索引?
- 索引上的信息足夠知足查詢請求。無需回到主鍵上取數據
併發事務會帶來哪些問題?
什麼是髒讀和幻讀?
- 髒讀是一個事務在處理過程當中讀取了另外一個事務未提交的數據。
- 幻讀是同一個事務內屢次查詢返回的結果集不同(多了或者少了行記錄)。
什麼索引?
索引是一種能幫助mysql提交查詢效率的數據結構sql
索引有哪些優缺點?
優勢:檢索速度,數據惟一性,加速錶鏈接,減小分組和排序時間。數據結構
- 快速訪問數據表中的特定信息,提交檢索速度
- 建立惟一性索引,保證數據表中每一行數據惟一性
- 加速表與表之間的鏈接。
- 使用分組和排序進行數據檢索,能夠顯著減小查詢中分組和排序的時間。
缺點:併發
- 下降了更新錶速度,更新數據同時還要更新索引文件
- 創建索引須要佔用磁盤空間
注意事項:
- 短索引,提交查詢速度,節省磁盤空間和i/o操做
- mysql查詢只適用一個索引,若是where子句使用了索引,就儘可能不使用排序和分組
- 不要在列上運算
- 不適用not in 和 <>操做