我想在內存中存儲數據庫的大型結果集。每條記錄的長度都是可變的,訪問時間必須與陣列一樣快。什麼是實施這個最好的方法?我正在考慮將偏移量保存在單獨的表格中並連續存儲所有記錄?奇怪嗎? (編程語言:德爾福)實現變長數組的最佳方式是什麼?
1
A
回答
3
不知道我完全關注你,但看看TList。
在德爾福7至少,它是作爲一種指針實施。如果您知道有多少結果回來,您可以使用容量屬性提前預先分配列表。
如果空間不足,該列表將自動增長。它的增長量取決於列表的大小。
看看類單元的來源,看看它在做什麼。
編輯:同樣在D2009中,genist支持被添加到了TList中,使得它更好用。
1
最好的方法可能是包含指向記錄的指針數組。在這種情況下,您不必處理偏移量,並且查找將保持不變。
+0
對於提問者的建議,查找仍然是不變的。 – 2008-11-12 17:00:50
0
我會使用TList,並將指針存儲到您的記錄。
type
pMyRecord : ^TMyRecord;
...
...
...
var
p : pMyRecord;
...
...
New(p);
with p^ do
begin
...
...
end;
...
MyList.Add(P);
0
爲什麼不使用數據庫的MEMORY版本?大多數人都有辦法在內存中保留一個完整的表,通常涉及SQL關鍵字MEMORY。您可以將表從磁盤複製到內存表,然後以內存速度使用所有正常的數據庫操作。我知道這在DBISAM中運行良好。
0
正在關注mj2008,您可以使用TCLientDataset而不是記錄數組。 結果集有多大?
相關問題
- 1. 實現睡眠函數JavaScript的最佳方式是什麼?
- 2. 「TryParse/Parse like」模式:實現它的最佳方式是什麼
- 3. 什麼是實現Viewholder設計模式的最佳方式。
- 4. 在Delphi中實現C#的BackgroundWorker的最佳方式是什麼?
- 5. C#SQL:實現動態表的最佳方式是什麼?
- 6. 實現App Transport安全性的最佳方式是什麼?
- 7. 什麼是實現這種佈局的最佳方式?
- 8. 在Android中實現搜索的最佳方式是什麼?
- 9. 實現此SQL查詢的最佳方式是什麼?
- 10. 實現電子郵件發送的最佳方式是什麼?
- 11. 實現Unity Singleton的最佳方式是什麼?
- 12. 什麼是在asp.net中實現調度的最佳方式MVC
- 13. 實現協議的最佳方式是什麼?
- 14. 實現AJAX「滑塊」的最佳方式是什麼?
- 15. Android:實現遊戲板的最佳方式是什麼?
- 16. 棄用後實現Hibernate UserType的最佳方式是什麼?
- 17. 蟒蛇NDB:什麼是實現類的最佳方式
- 18. 在Android上實現「存根」的最佳方式是什麼?
- 19. 在CakePHP 1.3中實現REST的最佳方式是什麼?
- 20. 在matlab中實現樹的最佳方式是什麼?
- 21. 實現記錄鎖定的最佳方式是什麼?
- 22. 在服務器中實現AutoComplete的最佳方式是什麼?
- 23. 實現忘記密碼功能的最佳方式是什麼?
- 24. 實現高級搜索表單的最佳方式是什麼?
- 25. 實現並行無限循環的最佳方式是什麼?
- 26. 實現AJAX超時的最佳方式是什麼?
- 27. 實現JTree工具提示的最佳方式是什麼?
- 28. 實現AJAX主菜單的最佳方式是什麼?
- 29. 什麼是實現python TCP客戶端的最佳方式?
- 30. 通過PHP實現OpenSocial集成的最佳方式是什麼?
它有助於瞭解您正在考慮使用哪種編程語言,並帶有類似的問題。 – unwind 2008-11-12 08:01:02