資料庫索引設計與優化讀書筆記--《一》概述
由於當前機器的記憶體越來越大,我們完全可以假設B樹索引的所有非葉子頁通常都會留在記憶體或者讀快取中。通常只有葉子頁需要從磁碟驅動器讀取。
如果非葉子頁不在資料庫緩衝池而在磁碟伺服器的讀快取中,那麼讀取索引頁可能會花費1ms。而一次磁碟隨機讀取所花費的時間大約是10ms。
誤區一:索引層級不要超過5層。
由於非葉子頁通常都會留在記憶體或者讀快取中,所以通常索引任意一個葉子頁的時間為10ms~20ms,這是固定的。所以,對索引層數的限制是沒有什麼意義的。
誤區二:單表的索引樹不要超過6個
不應該給索引數目限制上線。
誤區三:不應該索引不穩定的列
索引行是按索引鍵的順序儲存的,所以當索引鍵中有一列被更新時,DBMS可能不得不把相應的行從舊的索引位置移到心得位置來保證這一順序。當四層索引的三個層級的非葉子頁保留在記憶體中時,一次磁碟的隨機讀取需要10ms,響應的時間變成了2*10ms。此外,多列索引的尾列為不穩定的列,更新這個不穩定的列絕不會導致其遷移到新的子頁。因此,在當前的磁碟條件下,更新一個不穩定的列只會對該更新操作增加10ms的響應時間。
相關文章
- 資料庫索引設計與優化讀書筆記--《三》SQL處理過程資料庫索引優化筆記SQL
- 資料庫索引設計與優化讀書筆記--《四》為SELECT語句建立理想的索引資料庫索引優化筆記
- 高效能MySQL讀書筆記---索引優化MySql筆記索引優化
- Lua設計與實現--讀書筆記筆記
- 《Redis設計與實現》讀書筆記Redis筆記
- 資料庫效能優化-索引與sql相關優化資料庫優化索引SQL
- 《Java程式設計思想》讀書筆記一Java程式設計筆記
- 【效能優化】ORACLE資料庫效能優化概述優化Oracle資料庫
- ORACLE資料庫效能優化概述Oracle資料庫優化
- 關聯式資料庫索引設計和優化器前言資料庫索引優化
- 資料庫表設計正規化 筆記資料庫筆記
- 《資料庫系統實現》讀書筆記資料庫筆記
- 讀書筆記3-卡頓優化篇筆記優化
- 資料庫引擎優化顧問與索引優化的差別資料庫優化索引
- 《資料探勘概念與技術》讀書筆記筆記
- 《Java應用架構設計:模組化模式與OSGi》讀書筆記Java應用架構模式筆記
- MySQL 筆記 - 索引優化MySql筆記索引優化
- Mysql索引讀書筆記(待續)MySql索引筆記
- 《Web API的設計與開發》讀書筆記WebAPI筆記
- 《Servlet與JSP核心程式設計》讀書筆記ServletJS程式設計筆記
- 《認知與設計——理解UI設計準則》讀書筆記UI筆記
- 讀書筆記2-記憶體優化篇筆記記憶體優化
- 【設計模式】設計模式(一)-- 大話設計模式讀書筆記設計模式筆記
- 《網際網路信貸風險與大資料》讀書筆記(一)大資料筆記
- 《JavaScript Dom程式設計藝術》讀書筆記(一)JavaScript程式設計筆記
- python高階程式設計讀書筆記(一)Python程式設計筆記
- Head First Javascript 程式設計讀書筆記(一)JavaScript程式設計筆記
- Java程式設計思想讀書筆記一:併發Java程式設計筆記
- 大話設計模式 讀書筆記設計模式筆記
- 大話設計模式讀書筆記設計模式筆記
- 《程式設計匠藝》讀書筆記程式設計筆記
- 讀書筆記:深入解析oracle-第2章 控制檔案與資料庫初始化筆記Oracle資料庫
- http協議讀書筆記1-概述HTTP協議筆記
- 資料庫設計與查詢語句的優化資料庫優化
- 一個程式設計師的讀書筆記:程式設計的反思程式設計師筆記
- 資料庫系統設計概述資料庫
- 【前端效能優化】高效能JavaScript讀書筆記前端優化JavaScript筆記
- 【讀書筆記】如何設計一個秒殺系統筆記