索引就是表,是的,把索引當一張表看待就好
當你寫一條sql語句,from tbl時,你檢索的不一定是tbl表,而是tbl表的集合,這個集合包括由若干個表組成
每個表都含有若干個字段,
有乙個表含有所有字段,且擁有乙個主鍵列(如果dba沒有指定,系統也會建立這個列),這個表就是我們通常說的表.這裡我叫他全列表.
其他表對應到我們說的索引.我們叫索引表,索引表包含一到多個列,每個索引表都隱含包括乙個id列,作為外來鍵,指向全列表的主鍵.
在mysql中乙個表一定有乙個主鍵列.
當查詢時,資料庫引擎會根據where條件中包括的字段,決定是使用那些表,乙個原則就是盡量少的載入資料到記憶體..
索引表只含有少量字段,自然是乙個很好地選擇.所以篩選條件如果被索引覆蓋,則使用索引表就能高效的解決問題.
所有表都按乙個特定的順序儲存(一般預設都是b樹結構).索引表按列的順序儲存,全列表按主鍵順序儲存.因此範圍查詢如果和表的順序一致,自然能提高查詢效能.
這就是索引的左匹配原則.
復合索引的正確理解
復合索引的結構 參考 mysql技術內幕 innodb儲存引擎 第2版 復合索引的結構 首先正確的認識復合索引的結構,非葉子節點上是存在索引值的 例如以a b欄位建立復合索引,那排列如下 通過葉子節點,就能拿到資料 1,1 1,2 2,1 2,4 3,1 3,2 索引使用數量 參考 對於c1 c2 ...
正確的理解資料庫索引
索引感念解析 資料庫的索引 index 類似於書的目錄,目錄使讀者不必翻閱整本書就能迅速地找到所需要的內容。索引是一種與表相關的可選的方案物件。通過在表中的一列或多列上建立索引,就能夠為資料的檢索提供快速的訪問路徑,減少查詢時硬碟i o操作,加快資料的檢索速度。目錄和索引之所以能提高查詢速度,是因為...
如何理解並正確使用MySQL索引
1 概述 索引是儲存引擎用於快速查詢記錄的一種資料結構,通過合理的使用資料庫索引可以大大提高系統的訪問效能,接下來主要介紹在mysql資料庫中索引型別,以及如何建立出更加合理且高效的索引技巧。注 這裡主要針對的是innodb儲存引擎的b tree索引資料結構 2 索引的優點 1 大大減輕了伺服器需要...