資料庫索引設計與優化讀書筆記--《一》概述
由於當前機器的記憶體越來越大,我們完全可以假設B樹索引的所有非葉子頁通常都會留在記憶體或者讀快取中。通常只有葉子頁需要從磁碟驅動器讀取。
如果非葉子頁不在資料庫緩衝池而在磁碟伺服器的讀快取中,那麼讀取索引頁可能會花費1ms。而一次磁碟隨機讀取所花費的時間大約是10ms。
誤區一:索引層級不要超過5層。
由於非葉子頁通常都會留在記憶體或者讀快取中,所以通常索引任意一個葉子頁的時間為10ms~20ms,這是固定的。所以,對索引層數的限制是沒有什麼意義的。
誤區二:單表的索引樹不要超過6個
不應該給索引數目限制上線。
誤區三:不應該索引不穩定的列
索引行是按索引鍵的順序儲存的,所以當索引鍵中有一列被更新時,DBMS可能不得不把相應的行從舊的索引位置移到心得位置來保證這一順序。當四層索引的三個層級的非葉子頁保留在記憶體中時,一次磁碟的隨機讀取需要10ms,響應的時間變成了2*10ms。此外,多列索引的尾列為不穩定的列,更新這個不穩定的列絕不會導致其遷移到新的子頁。因此,在當前的磁碟條件下,更新一個不穩定的列只會對該更新操作增加10ms的響應時間。
相關文章
- 資料庫效能優化-索引與sql相關優化資料庫優化索引SQL
- Lua設計與實現--讀書筆記筆記
- 《Java程式設計思想》讀書筆記一Java程式設計筆記
- MySQL 筆記 - 索引優化MySql筆記索引優化
- Mysql索引讀書筆記(待續)MySql索引筆記
- python高階程式設計讀書筆記(一)Python程式設計筆記
- 《讀書與做人》讀書筆記筆記
- 【設計模式】設計模式(一)-- 大話設計模式讀書筆記設計模式筆記
- 讀書筆記2-記憶體優化篇筆記記憶體優化
- 《JavaScript Dom程式設計藝術》讀書筆記(一)JavaScript程式設計筆記
- Head First設計模式讀書筆記設計模式筆記
- 大話設計模式 讀書筆記設計模式筆記
- 讀書筆記3-卡頓優化篇筆記優化
- 資料庫系統設計概述資料庫
- 【讀書筆記】如何設計一個秒殺系統筆記
- 《Redis 設計與實踐》讀書筆記系列五:字典 rehashRedis筆記
- MySQL資料庫初級學習筆記---第一章-資料庫概述MySql資料庫筆記
- 【前端效能優化】高效能JavaScript讀書筆記前端優化JavaScript筆記
- 讀書筆記#五導家-設計觀筆記
- 《JavaScript程式設計精解》--讀書筆記JavaScript程式設計筆記
- 反應式程式設計讀書筆記程式設計筆記
- CSAPP 併發程式設計讀書筆記APP程式設計筆記
- 《軟體架構設計》讀書筆記架構筆記
- 讀書筆記-Java程式設計思想-03筆記Java程式設計
- Java設計模式學習筆記(一) 設計模式概述Java設計模式筆記
- 效能調優-Mysql索引資料結構詳解與索引優化MySql索引資料結構優化
- 《重構:改善既有程式碼的設計》讀書筆記(一)筆記
- 深度:微服務化的資料庫設計與讀寫分離微服務資料庫
- 阿龍的學習筆記---《程式設計師自我修養-連結、裝載與庫》讀書筆記(二)筆記程式設計師
- PMBook讀書筆記(一)筆記
- 《Go 語言程式設計》讀書筆記 (五) 協程與通道Go程式設計筆記
- 簡讀筆記_Redis設計與實現_第一章_資料結構與物件筆記Redis資料結構物件
- 《Python資料分析與挖掘實戰》-- 讀書筆記(2)-- 2019Python筆記
- 《Java8函數語言程式設計》讀書筆記---類庫Java函數程式設計筆記
- MySQL優化學習筆記之索引MySql優化筆記索引
- python網路資料採集 - 讀書筆記 - 糾錯與記錄Python筆記
- C#高階程式設計 讀書筆記C#程式設計筆記
- 《程式設計師自我修養》讀書筆記程式設計師筆記
- 《程式設計師修煉之道》讀書筆記程式設計師筆記