兩個以上的程式同時連結資料庫的問題 |
答題得分者是:pcboy
|
kenliu14
一般會員 ![]() ![]() 發表:1 回覆:1 積分:0 註冊:2007-07-10 發送簡訊給我 |
|
pcboy
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
kenliu14
一般會員 ![]() ![]() 發表:1 回覆:1 積分:0 註冊:2007-07-10 發送簡訊給我 |
|
syntax
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
這很正常,不然你以會會發生甚麼 ?
同時存取資料庫,當然會需要兩份資料(以你的cases而言),各用去4M 連線結束,資料庫會依據其規則將資料正式寫入或變更,當然會變回正確的大小 再加上pcboy說的觀念,會用去多少空間,你又何必去干預 ? 如果你覺得讀寫的資料太多,你為何不重新檢討一下,是否有必要同時讀取這麼多資料,分段處理不可行嗎?再來看是否要這麼在乎資料庫的大小 嫌太慢,換顆好點的硬碟吧(RAID、SCSI、上萬轉硬碟,應該不只是發明好看的) 或是你自己對資料庫做最佳化(這點只有你能做到,因為相關環境只有你清楚) 所以請不要騎腳踏車,然後說:挖,道路不平,飆不到 90 km/s ===================引 用 kenliu14 文 章=================== 小弟一支程式負責寫資料,若同時開啟另一支程式來讀取資料會造成資料庫成長的速度是原來的兩倍 , 例如原本我寫10000筆資料進去資料庫的大小為 4M 但若我在寫資料的同時開啟另一支程式去讀取資料庫則會造成同樣寫 10000 筆資料但是資料庫的大小卻變成 8 M ; 如此下去會造成資料庫太大影響存取資料的速度 . 如果資料庫維護過則資料庫會恢復成較小的檔案, 但是小弟又不想常常去維護資料庫 , 所以請各位大大能提供小弟解決的方法 , 例如是否在寫程式的語法上略做修改就可以解決此問題 |
pcboy
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
1. 資料庫運作, 一般重視在效能運算, 犧牲 HD 空間換取運算速度; 如果要斤斤計較 HD 空間, 那就是犧牲效能換取空間 2. 資料庫維護雖然可以讓資料庫放出浪費的硬碟空間怕影響, 但是因為這個 HD I/O 很重, 一般是每天半夜做一次或每週做一次(如果下班後or半夜跑不完) 3. 資料庫維護一般是在資料庫系統中設定做哪些事情, 排程去執行, 不是在程式中, 也不保證程式可以做 4. 4M很小, 評估說佔兩倍的說法不是很準確, 個人覺得至少要 100 MB 以上去評估; 因為從 4M -> 8M 可能是資料庫系統拿 4M 來做某些事情 5. 寫程式的語法考量, 如果只是 "讀" 資料, 不要以 "可讀寫" 模式去連線存取資料庫 (小弟不知道 Delphi 連 InterBase 是否有這種分別)
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
renard
一般會員 ![]() ![]() 發表:3 回覆:43 積分:24 註冊:2007-06-29 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |