答:mysql
答:根據慢日誌定位慢查詢sql、使用explain等工具分析sql、修改sql或儘可能讓sql走索引sql
答:併發
非葉子節點是按照年齡排序的,葉子點根據年齡排序以後再根據姓氏和名字排序;解釋了最左原則mvc
a、幻讀:事務不是獨立執行時發生的一種現象,例如第一個事務對一個表中的數據進行了修改,這種修改涉及到表中的所有數據行。 同時,第二個事務也修改這個表中的數據,這種修改是向表中插入一行新數據。那麼,之後就會發生操做第一個事務的用戶發現表中還有沒有修改的數據行,就好象 發生了幻覺同樣。工具
b、mysql如何實現避免幻讀:在快照讀讀狀況下,mysql經過mvcc來避免幻讀。在當前讀讀狀況下,mysql經過next-key來避免幻讀優化
c、什麼是mvcc:mvcc全稱是multi version concurrent control(多版本併發控制)。mysql把每一個操做都定義成一個事務,每開啓一個事務,系統的事務版本號自動遞增。每行記錄都有兩個隱藏列:建立版本號和刪除版本號日誌
select:事務每次只能讀到建立版本號小於等於這次系統版本號的記錄,同時行的刪除版本號不存在或者大於當前事務的版本號。blog
update:插入一條新記錄,並把當前系統版本號做爲行記錄的版本號,同時保存當前系統版本號到原有的行做爲刪除版本號。排序
delete:把當前系統版本號做爲行記錄的刪除版本號索引
insert:把當前系統版本號做爲行記錄的版本號
d、什麼是next-key鎖: 能夠簡單的理解爲X鎖+GAP鎖
e、什麼是快照讀和當前讀:
快照讀:簡單的select操做,屬於快照讀,不加鎖。(固然,也有例外,下面會分析)
當前讀:特殊的讀操做,插入/更新/刪除操做,屬於當前讀,須要加鎖。