程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 尋址-哈希表比二進制有什麼優勢嗎?數據庫為什麼要選用它?

尋址-哈希表比二進制有什麼優勢嗎?數據庫為什麼要選用它?

編輯:編程綜合問答
哈希表比二進制有什麼優勢嗎?數據庫為什麼要選用它?

據說各大數據庫都是以哈希表為基礎的,但是哈希表不是不能直接尋址嗎,存取效率應該比二進制低不少,為什麼要選用哈希表而不是直接二進制?

最佳回答:


哈希表是一種折衷。當然,直接尋址是好,問題是,你需要一種數據結構,還能不斷添加、刪除、修改吧。
再說,尋址是文件的角度來說的,和哈希表沒有關系。
數據庫用哈希表,當然不全用哈希表,同時數據庫也是用的二進制文件。這不矛盾。我說的二進制是相對文本文件來說的。確切地說法,不是二進制,而是隨機文件。
所謂隨機文件,就是你可以隨機定位和訪問的文件。文本文件不是隨機文件,比如說讀取文本第100行,你沒辦法知道第100行的地址,或者說相對文件頭,它中間隔了多少字符,你只能從頭讀取一次,這樣效率很低。
所有的數據庫,都使用二進制文件(當然,二進制文件也有不能隨機訪問的),或者進一步說,是隨機文件作為基本的文件格式。
在此之上,用什麼算法,比如哈希表、索引、簇等等,那是另一回事了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved