《MySQL技術內幕》是一本深入探討MySQL內部實現原理的寶典,對于想深入了解MySQL的人來說,是一本必讀之作。第二版相比第一版新增了InnoDB引擎的相關內容,同時完善了一些已有的內容。
在第二版中,作者詳細介紹了MySQL的存儲引擎架構以及各個存儲引擎的內部實現原理。其中,最受讀者關注的莫過于InnoDB引擎。下面是一段介紹InnoDB內部原理的代碼:
InnoDB的存儲原理 InnoDB是MySQL默認的事務型存儲引擎,它支持ACID事務,并發性好。InnoDB存儲引擎的數據是按照B+樹的結構存放在磁盤上的,其中有兩種重要的樹結構:聚集索引和輔助索引。 聚集索引:InnoDB表必須有一個聚集索引,也就是一個B+樹,同時存儲了數據和索引,它對應表的主鍵或者是第一個唯一非空索引。 輔助索引:除了聚集索引以外的任何索引。輔助索引的B+樹的葉子節點存儲的是索引鍵,而不是行數據,每個葉子節點也包含了一個指向聚集索引中數據行的物理指針,查詢輔助索引需要先使用輔助索引查找到滿足條件的行數據的物理指針,再根據物理指針到聚集索引中去取得數據。 InnoDB使用MVCC(多版本并發控制)來保證事務的隔離性,同時也是實現InnoDB高并發性的重要機制之一。
總之,《MySQL技術內幕》第二版的出版,為廣大MySQL愛好者提供了一份深入了解MySQL內部工作原理的機會。對于想深入了解MySQL的人來說,這是一本必備的參考書籍!