Mysql 常見面試題

storyflow發表於2021-11-18

索引

1、mysql中聚簇索引和非聚簇索引的區別?(基本必問)
2、是否用到了索引?(explain)
3、索引失效的情況?
4、索引的分類?
5、索引的結構?b+樹和b樹的區別?
6、如何在不影響業務的情況下給表增加一個欄位,那如果是索引呢?
pt-online-schema-change
7、索引為什麼不使用 Hash 結構

1、如何用mysql實現一個樂觀鎖?
2、什麼是悲觀鎖?怎麼實現悲觀鎖?
3、判斷一些sql是否產生鎖?是什麼鎖?
4、什麼是死鎖?怎麼產生死鎖?怎麼解決?
5、select for update 一定要在事務中使用麼?它什麼情況下是行鎖,什麼情況下是表鎖?

事務

1、什麼多版本併發控制? 解決什麼問題?(很重要)
1)讀寫之間阻塞的問題
2)降低了死鎖的概率
3)解決一致性讀的問題

2、事務的特性是什麼?
3、延伸:分散式事務
4、事務的隔離級別,分別有什麼問題?
讀未提交、讀提交、重複讀、序列化

其他

1、說一下主從複製?讀寫分離可能出現什麼問題?
2、limit和offset在大的偏移量的情況下如何優化呢?

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章