oracle索引再論
oracle中索引的資料結構有b樹結構和點陣圖結構。
我們通常用的普通索引、反向鍵索引、函式索引等都是b樹結構的,是樹狀結構;
位圖結構則只有葉子節點。
b樹索引操作有唯一性掃瞄,範圍掃瞄,快速索引全掃瞄(index fast full scan),
索引全掃瞄(index full scan);而位圖索引的訪問方式只有索引全掃瞄。
b樹的所有葉子節點都有一條雙向鏈,根據索引鍵值大小排序的,b樹,只要掃瞄到結果資料,必然在葉子節點上,這一點與b+樹不同(有可能非葉子節點)。
反轉鍵,即將鍵值反轉,是為了解決索引的熱塊衝突的。
再論雙分派
暴力雙分派速度快,可是當類增多時,代價依然很大。map雙分派在速度優化上有dynamic cast和static cast兩種選擇,loki把這個選擇做成了policy。矩陣雙分派速度上有天然的優勢,但是你要修改你的類。於是loki也把這個做成了policy供你選擇。矩陣雙分派的思想是,在你的cla...
再論向上轉型
向上轉型的好處,已經在這篇文章 這是乙個鏈結 的 中演示了,但是沒有說不好處。現在就說說不好處,以鏈結中的 為背景,animal a1 new lion animal a2 new mokeny new出來的lion和mokey物件向上轉型為animal物件,可以使用統一的eat 讓jvm去分辨到底...
原創 再論epoll
學習時間的過程終會有反覆,其中也包括一些錯誤,上午對於前一篇關於epoll的文章進行了增改,下午就覺得有些不妥,重新編輯感覺不太容易剝樓錯誤,現在有些新的變化在這裡重新論述。上午說的在epoll裡面進行耗時任務的時候做乙個任務排程器 比如當伺服器連線外部資源 這說明我只了解了epoll的一部份,沒有...