MySql常見面試題

1.mysql中主鍵與索引區別與聯繫

關係數據庫依賴於主鍵,它是數據庫物理模式的基石。主鍵在物理層面上只有兩個用途: 
      惟一地標識一行。 
      作爲一個可以被外鍵有效引用的對象。 
      索引是一種特殊的文件(InnoDB數據表上的索引是表空間的一個組成部分),它們包含着對數據表裏所有記錄的引用指針。下面是主鍵和索引的一些區別與聯繫。

參考:https://www.cnblogs.com/ybygb-geng/p/9574169.html

2.什麼時候索引會失效

  • 如果條件中有or,即使其中有條件帶索引也不會使用(這也是爲什麼儘量少用or的原因)。(要想使用or,又想讓索引生效,只能將or條件中的每個列都加上索引)
  • 對於多列索引,不是使用的第一部分,則不會使用索引(即不符合最左前綴原則)
  • like查詢是以%開頭
  • 如果列類型是字符串,那一定要在條件中將數據使用引號引用起來,否則不使用索引
  • 如果mysql估計使用全表掃描要比使用索引快,則不使用索引

3.mysql中InnoDB表爲什麼要建議用自增列做主鍵(爲什麼主鍵要有序而不是隨機數)

     參考:https://blog.csdn.net/wukong_666/article/details/54982712

4.mysql中innodb和myisam的區別

     參考:https://blog.csdn.net/qq_27607965/article/details/79925288

5.MySql爲何默認不用hash索引而用BTree索引的幾點原因

     參考:https://blog.csdn.net/ycllycll/article/details/101307626

6.mysql索引最左匹配原則的理解

     參考:https://blog.csdn.net/u013164931/article/details/82386555

                https://blog.51cto.com/11784929/2319366

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章