在資料之外,資料庫系統還維護著滿足特定查詢演算法的資料結構,這些資料結構以某種方式引用(指向)資料,這樣就可以在這些資料結構上實現高階查詢演算法。這種資料結構,就是索引。下圖就是一種可能的索引方式示例:
左邊是資料表,一共有兩列七條記錄,最左邊的是資料記錄的實體地址 為了加快col2的查詢,可以維護乙個右邊所示的二叉查詢樹,每個節點分別包含索引鍵值和乙個指向對應資料記錄實體地址的指標,這樣就可以運用二叉查詢在一定的複雜度內獲取到相應資料,從而快速的檢索出符合條件的記錄。
b-tree: (b:balance) 會自動根據兩邊的情況自動調節,使兩端無限趨近於平衡狀態。可以使效能最穩定。(myisam使用的方式)
b-tree弊端:(插入/修改操作多時,b-tree會不斷調整平衡,消耗效能)從側面說明了索引不是越多越好。
b+tree:innodb 所使用的索引
listview 多種型別
1.type count 2,type position 3,getview by type override public int getitemviewtype int position else return type override public int getviewtypecount ...
Serde 多種型別轉換
參考 如果在 json 中某個欄位有多種型別,可以使用下面的方式處理。use serde derive serialize,deserialize,debug struct person derive deserialize serde untagged 列舉型別的無標籤方式 enum stroru...
ListView顯示多種型別的條目
listview顯示多種型別的條目 listview 顯示的每個條目都是通過 baseadapter 的 getview int position,view convertview,viewgroup parent 來展示的,理論上我們完全可以讓每個條目都是不同型別的 view,除此之外 adapt...