5年之後 祺源開發Java開發的時候才有使用索引的感覺。索引 面試中是十分頻繁地被問到。索引分為聚簇索引和非聚簇索引。 古至今,人類都是 文盲到文明的演變過程。書籍的使用,文字的發明和記載資訊。當文字量一大,翻閱查詢起來就越困難。把相似的東西放 一起,使用標籤標記存放,找起來更快。
索引和ID的概念是一致的。紙質書籍分章節,每個章節有小標題,把小標題和那一頁的頁碼都抽取出來成為一個小冊子,就是每一本書的前置小目錄。
計算機的抽象概念中索引集合和目錄是相似,但是有很多不同的地方。Hashmap有hash索引表,資料庫有資料庫索引表,全文檢索有全文索引表。索引管理是索引欄位的管理,索引欄位是由關鍵字和索引號組成的一個物件。面試中有很多面試官都問到索引失效是怎麼回事。資料庫表裡的資料量一大的情況下,全表掃描是需要時間。一般的計算機處理資料的速度並沒有使用者想象得那麼快。使用者能忍受的最長使用者體驗時間是2秒,沒有兩秒的使用者響應時間故意使用遮罩等待兩秒的使用者體驗也是有。
聚簇索引是索引表的索引排序和物理表的物理排序邏輯一致,非聚簇索引的索引表排序和物理表的物理排序邏輯不一致。概念區別 這裡,主鍵索引,就是即使唯一性索引也有很多的主鍵分配策略。
開發資料庫軟體的時候就有對資料庫表的索引進行構建。資料量一大的時候,不使用索引是不可能實現特定資料的高效檢索。計算機記憶體的管理, Java中使用的是堆heap,即 執行記憶體中使用管理資料的存放和狀態的改變,選擇相應的資料進行持久化儲存,對無用的記憶體進行釋放和調優。堆表其實就是索引表,堆塊是真正儲存資料的隨機儲存區域。資料庫開發軟體也是應用工具,管理的是持久化的資料,也會有索引表的存 。Java中的資料結構hashmap 使用雜湊索引對資料進行索引查詢。索引為什麼會更快,索引是使用整形int 進行儲存,體積相對較小,使用相應的搜尋演算法進行最佳化計算之後,查詢效能會有相應的提高。
看書的時候通常的習慣是不會看書籍的分類目錄,但是計算機不一樣。處理慢查詢是一項很重要的開發任務,現 是網際網路社會,資料流量都很大。軟體公司是科技公司, 現 的情況之下,真正要實現盈利的資料量一般都是以 million 級別進行衡量。
資料庫索引的使用 組長級別之類,效能的最佳化和調優是架構師的任務。作為開發工程師, 是接觸過資料庫表的索引,索引欄位的管理,要有概念。