記憶體上的資料庫 |
尚未結案
|
g9221712
高階會員 發表:145 回覆:344 積分:162 註冊:2006-07-06 發送簡訊給我 |
各位前輩和版主大人:
想請教有沒有辦法將ACCESS或MS SQL的TABLE整個放到記憶體上,使用ADOQUERY去操作, 因為記錄約兩萬筆,想說如果都能放到記憶體上的話,搜尋或者操作會較為快速,但是因為如果使用陣列去存放 又需要自己去寫搜尋的演算法,所以不知道怎麼作比較好,另外一個ClientDataset我不知道他是否可以這樣用 ,我的目標是,將整的TABLE內的資料約三萬筆,都放到記憶體上,不知道有沒有什麼簡單又快速的方法 ,因為沒寫過類似的作法,特先來請教前輩們的意見。 感謝
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」 程式寫的越久,卻發現自己越來越不會寫程式! |
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
g9221712
高階會員 發表:145 回覆:344 積分:162 註冊:2006-07-06 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
記憶體便宜? 我不這麼認為, 電腦並不是記憶體不夠用再買一支插上去就好了! 你要考慮新舊的相容性, 要考慮雙通道的問題, 要考慮各支RAM不同大小問題, 要考慮RAM廠牌相容問題, 還有要考慮同廠牌但有可能使用顆粒來源、規格不同, 另外如果使用筆電時, 有辦法擴充嗎? 這樣一系列的問題如果你都能解決的話, 那用RAM來做資料暫存效能是很漂亮的, 我們估且不論萬一當機所有資料就像曹格的背叛-SAY GOODBYE的高風險性, 所以要開發給客戶使用這系統, 不是說RAM不可以, 你可以把只要讀取或分析的資料移到記憶體, 就算當機也無所謂, 但要異動的絕對不建議, 另外要寫一支資料到記憶體的程式其實不容易, 市面上有一個工具叫 RAMDISK (上YAHOO, GOOGLE搜尋一下), 它可以把實際的RAM切出成如早期DOS時代的RAM DISK , 把資料庫直接複製到該磁碟(當建立成功時, 電腦會多出一個DISK 代碼, 形同磁蹀機, 但是是以RAM為基底的), 接下來你要怎麼做就把RAM DISK當硬碟來使用即可, 不過要注意的, 例如你有2G RAM, 利用RAM DISK切出 1G做DISK, 那你實際的RAM只剩1G而已!
===================引 用 g9221712 文 章=================== 前輩: 我只是在想,現在記憶體這麼便宜,是否有加速資料庫程式進行的可能,所以才發這個問題的。 感謝您的回應 |
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
將ACCESS或MS SQL的TABLE整個放到記憶體上
很簡單啊,用 TADOQuery 就 OK 了 ADOQuery1.SQL.Clear(); ADOQuery1.SQL.Add('SELECT * FROM TABLE1'); ADOQuery1.Open; ADOQuery1.Last; ADOQuery1.Connection := nil; 搞定 那麼之後呢?你要用 Locate 來找資料?Locate 是怎麼找資料的,你知道嗎? 不要想這麼多咯,CACHE資料跟搜尋資料的動作交給 DBMS 就好 我們要寫的是應用程式,不是寫 DBMS
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/ |
ANDY8C
資深會員 發表:114 回覆:582 積分:299 註冊:2006-10-29 發送簡訊給我 |
|
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
有個元件,或許對你有用
SQLMemTable: In-Memory SQL Database for Delphi http://www.aidaim.com/products/sqlmemtable/sqlmemtable_spec.php 但都必需考慮前面大大所提的突發狀況的防呆設計為前提, 要不然使用者打的資料在某種情況下漏失,是很嚴重地 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |