2010-12-22 62 views
-1

我必須創建一個包含30列和數千行的表。我如何管理這個?如何處理擁有非常大數據的表?

對於在磁盤中存儲非必需數據的表,是否有像B +樹這樣的數據結構?

我必須使用Java/JDBC來實現它。

有什麼想法?

+1

你是說你要從頭開始寫一個DBMS?或者只是通過JDBC使用現有的(如Oracle或MySQL)? – Thilo 2010-12-22 06:34:39

回答

0

我基礎上的結構在內存中的溶液狀

Map<Object, DataType> table 

並且或者選擇一個HashMap如果我想快速讀取和單個行的插入件或TreeMap如果基於關鍵字排序輸出是一個典型的場景。

Big是 - 一如既往 - 相對相對。您可以將額外的堆空間分配給虛擬機,以便該表的內存消耗爲「花生」。順便提一句,是一些保存表條目所有值的java類。

如果需要持久性,請在現有數據庫引擎上定義該表,並開發一些SQL查詢語句以僅讀取所需的數據。

1

NTFS,ReiserFS,NSS,XFS和JFS文件系統都使用這種類型的樹進行元數據索引。關係數據庫管理系統(如IBM DB2,Informix,Microsoft SQL Server,Oracle 8,Sybase ASE,PostgreSQL,Firebird,MySQL和SQLite)支持這種類型的表索引樹。

成千上萬的記錄在企業應用程序中是正常的。

在頻繁檢索的字段上應用索引時,會使搜索更好,但會影響插入。

如果可能,請嘗試進一步標準化數據庫。

在應用層,你可以使用緩存API的喜歡OSCache的,的EHCache,等的JCache

相關問題