PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   系統組件 (https://www.pcdvd.com.tw/forumdisplay.php?f=19)
-   -   處理大量文字檔案的瓶頸? (https://www.pcdvd.com.tw/showthread.php?t=809814)

lobben 2008-08-10 07:38 PM

處理大量文字檔案的瓶頸?
 
最近一直覺得電腦開關一些檔案、計算一些東西的速度都很慢
不知道瓶頸在哪裡

配備
CPU : [email protected]
RAM:DDR2 800 4G
HD:WD 74G萬轉HD
Power:海韻 430W

症狀與用途
1.開啟50mb~112mb的文字檔,CPU使用率飆很高,檔案開很久才開得起來
2.剖析文字檔中的字元、整理後批次轉成Access mdb檔很慢,資料筆數大概800萬~1200萬
3.對Access資料庫做查詢、匯入匯出很慢,資料筆數大概800萬~1200萬
4.用Access 2007內建的資料庫壓縮工具壓縮近2G的資料庫檔案,速度很慢

曾經想過是不是程式寫得不好,不過經老闆和若干高手看過之後,程式的寫法是沒有問題的
而且連一些軟體內建的功能執行起來效率也不好
故認為應該是硬體或資料量的問題
有想要加強硬體配備
但我分不出來瓶頸是在I/O還是在CPU
希望大大們可以給我一點意見,謝謝

kubahao 2008-08-10 08:19 PM

這樣的配備好了吧 :shock:

看看硬碟有沒有狂讀

lobben 2008-08-10 08:46 PM

症狀與用途
1.開啟50mb~112mb的文字檔,CPU使用率飆很高,檔案開很久才開得起來
(CPU使用率飆高,硬碟不太閃)

2.剖析文字檔中的字元、整理後批次轉成Access mdb檔很慢,資料筆數大概800萬~1200萬
(CPU使用率飆高,硬碟小閃,但不會狂閃)

3.對Access資料庫做查詢、匯入匯出很慢,資料筆數大概800萬~1200萬
(CPU使用率飆高,硬碟中閃不會狂閃,但耗掉不少RAM)

4.用Access 2007內建的資料庫壓縮工具壓縮近2G的資料庫檔案,速度很慢
(CPU使用率飆高,硬碟狂閃,4G的RAM幾乎吃完) :jolin:

abc111 2008-08-10 09:01 PM

第一個問題, 讀取文字檔的程式改寫成一次讀取較小容量的資料, 分次讀取與匯入應該可以解決

其他三個問題, 看起來樓主的資料量已經很大, 用access大概會很吃力了, 建議改換成MySQL Server或是Microsoft SQL Server

lobben 2008-08-10 09:49 PM

引用:
作者abc111
第一個問題, 讀取文字檔的程式改寫成一次讀取較小容量的資料, 分次讀取與匯入應該可以解決

其他三個問題, 看起來樓主的資料量已經很大, 用access大概會很吃力了, 建議改換成MySQL Server或是Microsoft SQL Server

遇到大量資料
兩三年前中高階的遊戲機頓時很不夠用 :stupefy: :laugh:

1.因為檔案管理方便,文字檔切成50~112mb(文字檔上限)是無可避免的
2.我也很想換資料庫,只是檔案要帶來帶去,為****換方便只能選有2G資料上限但每一台電腦都會裝的Access,而且其他user沒裝也不會用MS SQL,有時還要轉成dbase V的檔案 :cry:

為了這種用途組raid 0,加到8G的RAM不知有沒有顯著的幫助?
但光是這樣就所費不貲 而且經費還蠻有限的,傷腦筋

airitter 2008-08-11 01:51 AM

用 Access 2007 開看看會不會比較快:confused:

之前我用Excel寫個小東西
我的電腦較差
用2003開了30~60秒 很久就對了,沒刻意去數
用2007開3秒

在不行就 分散式資料庫

vxr 2008-08-11 01:55 AM

1000萬筆以上Access很累吧..
難道一次要撈全部資料..??:confused:..
我之前有試驗過用4GB電腦寫Java一次撈幾百萬筆資料(健保局的記錄..欄位超長)..
結果JVM整個掛掉..:laugh:

abc111 2008-08-11 09:41 AM

引用:
作者lobben
遇到大量資料
兩三年前中高階的遊戲機頓時很不夠用 :stupefy: :laugh:

1.因為檔案管理方便,文字檔切成50~112mb(文字檔上限)是無可避免的
2.我也很想換資料庫,只是檔案要帶來帶去,為****換方便只能選有2G資料上限但每一台電腦都會裝的Access,而且其他user沒裝也不會用MS SQL,有時還要轉成dbase V的檔案 :cry:

為了這種用途組raid 0,加到8G的RAM不知有沒有顯著的幫助?
但光是這樣就所費不貲 而且經費還蠻有限的,傷腦筋


1. 我的意思是說一次讀取比如說10M的資料後,把記憶體釋放掉,再讀取後續10M的資料,一直到讀取完畢。 :)

2. 不能換資料庫啊... 那就只好像樓上的網友說的,換新版的Access試試囉... :ase

u8526425 2008-08-11 09:56 AM

換免費的MSDE或SQL2005 Express
沒裝就裝
也沒啥不會用的問題
(至少比MySQL簡單)
但比access好

access是小型資料庫
有多小 ?
我查了網路上的說法
5人以下
資料50MB以下
這種規模較為適合

lobben 2008-08-11 05:29 PM

感謝各位大大的相助
我已經在用Access 2007了,效率不好就只好換軟體
目前看來還是跟user溝通看看好了 弄個SQL Server 2005 Express資料匯入匯出和查詢的簡易教學可能比較實際
至少不用花到硬體的錢 :D


所有的時間均為GMT +8。 現在的時間是04:12 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。