 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
| 上一篇主題 :: 下一篇主題 |
| 發表人 |
內容 |
goodnight

註冊時間: 2008-10-13 文章: 473 來自: 台南市
第 46 樓
|
發表於: 星期日 十一月 29, 2009 10:56 pm 文章主題: |
|
|
事實上 sql server 真的快嗎??那倒不一定, 我前公司用 sql server 2000+winserver 2003, 當一堆人丟 job 給 server 時, client 一樣也是會慢, 而且是慢得令人受不了 , 當然我公司窮買不起更好的 server , 也沒法讓 sql server 跑得更順
我們先來看看兩者不同點
sql server 是我們將資料丟給 sql server 後就沒事了, 所以前端 (client)感覺在快, 但是如果 sql server 在忙碌或是 i/o 大的時候, 仍然會慢, 這時的 clinet 的記憶體並不需要特別大
而傳統的 dbc/dbf 則是每一個 client 在做動作, 需要將大量的資料讀入到 clinet 端電腦的記憶體中, 所以在新增時, 又要重client 的記憶體回寫到 file server, 這時有可能會因為硬體 (file server及client)的影響而慢下來
vfp 環境中 record counter inteval 和 remote data 的設定也會影響你資料的處理, 你都要去測試調整
麻煩你測一下, 單頭和單身存檔時的時間, 然後修改你的程式
你應該先用最單純的環境測試, 直接利用 vfp 直譯環境測試 insert into 看看是不是真的很慢, 先測單機, 再測 lan
請問你的 server 是 winxp pro 還是 win server ??
建議你安裝 nod32 的防毒軟體, server 必須安裝 server 版
如果可以, 你應該先公佈你的程式及流程, 也許大家會給你更好的建議, 新增無非是 insert into 和 append blank 這個是最終的指令
當然, 能用 sql server 是最好的選擇之一, 用 sql server 的重點在於管理面和安全面, 穩定面都大於 dbc/dbf, 至於 spt 方面, 我也是看了很多文章, 你也應該多看看 spt , 往 spt 邁進, 進步是需要的, 下載區也有很多範例
ramdisk: http://www.chweng.idv.tw/swintro/ramdisk.php
sql server (my sql/ firebird/postgre sql): http://postgresql-chinese.blogspot.com/2007/06/postgresqlmysqlfirebird.html |
|
| 回頂端 |
|
 |
tinwhang
註冊時間: 2009-11-08 文章: 104
第 47 樓
|
發表於: 星期日 十一月 29, 2009 11:08 pm 文章主題: |
|
|
事實上 sql server 真的快嗎??那倒不一定, 我前公司用 sql
^^^理論上應該是,INSERT INTO 的時候是一筆資料而已,所以沒有須要將FILE DOWNLOAD 到CLINET的資料量,原則上是很快的,遇小資料庫還沒問題 但資料量大的話,多幾個人CLIENT 網路的頻寬就受不了了,當然整體的效能就大打折扣 server 2000+winserver 2003, 當一堆人丟 job 給 server 時, client 一樣也是會慢, 而且是慢得令人受不了 , 當然我公司窮買不起更好的 server , 也沒法讓 sql server 跑得更順
我們先來看看兩者不同點
sql server 是我們將資料丟給 sql server 後就沒事了, 所以前端 (client)感覺在快, 但是如果 sql server 在忙碌或是 i/o 大的時候, 仍然會慢, 這時的 clinet 的記憶體並不需要特別大
而傳統的 dbc/dbf 則是每一個 client 在做動作, 需要將大量的資料讀入到 clinet 端電腦的記憶體中, 所以在新增時, 又要重client 的記憶體回寫到 file server, 這時有可能會因為硬體 (file server及client)的影響而慢下來
vfp 環境中 record counter inteval 和 remote data 的設定也會影響你資料的處理, 你都要去測試調整
麻煩你測一下, 單頭和單身存檔時的時間, 然後修改你的程式
你應該先用最單純的環境測試, 直接利用 vfp 直譯環境測試 insert into 看看是不是真的很慢, 先測單機, 再測 lan
請問你的 server 是 winxp pro 還是 win server ??
建議你安裝 nod32 的防毒軟體, server 必須安裝 server 版
如果可以, 你應該先公佈你的程式及流程, 也許大家會給你更好的建議, 新增無非是 insert into 和 append blank 這個是最終的指令
當然, 能用 sql server 是最好的選擇之一, 用 sql server 的重點在於管理面和安全面, 穩定面都大於 dbc/dbf, 至於 spt 方面, 我也是看了很多文章, 你也應該多看看 spt , 往 spt 邁進, 進步是需要的, 下載區也有很多範例
ramdisk: http://www.chweng.idv.tw/swintro/ramdisk.php
sql server (my sql/ firebird/postgre sql): http://postgresql-chinese.blogspot.com/2007/06/postgresqlmysqlfirebird.html
能遇到這個站的人,真是幸福丫 ,獲益良多 ,謝謝各位 |
|
| 回頂端 |
|
 |
goodnight

註冊時間: 2008-10-13 文章: 473 來自: 台南市
第 48 樓
|
發表於: 星期日 十一月 29, 2009 11:11 pm 文章主題: |
|
|
| tinwhang 寫到: | 其實程式真的有好壞之分,我這幾天分析下來這套程式慢的原因是他將三十多萬筆的資料一直TABLEUPDATE(.T.)
一個SAVE 的動作,就對那個TABLE 做了五次,那難怪會慢 , 而且業一台做五次,那我們三台就做了十五次,一個網路同時把30萬筆的資料搬了十五次,那難怪會慢 .....我這樣說 對不對 ? |
請問一下, 你的程式是用 tableupdate ??這應該是 sql server 的寫法了
你是用 dbf 還是用 sql server ??
也許這位程式設計師要開始走 sql server 路線時, 就離職了 , 你又剛好接手
應該是全部的資料處理完後再 tableupdate, 所以你已經找出可能慢的原因了
但你也要考量看看是否不用改程式, 而升級到 sql server 了 |
|
| 回頂端 |
|
 |
tinwhang
註冊時間: 2009-11-08 文章: 104
第 49 樓
|
發表於: 星期日 十一月 29, 2009 11:15 pm 文章主題: |
|
|
.DBF 也有用到TABLEUPDATE 的用法 ,
我現在的工作就是將他改善效能 OR 升級到 MYSQL |
|
| 回頂端 |
|
 |
goodnight

註冊時間: 2008-10-13 文章: 473 來自: 台南市
第 50 樓
|
發表於: 星期日 十一月 29, 2009 11:18 pm 文章主題: |
|
|
| tinwhang 寫到: | .DBF 也有用到TABLEUPDATE 的用法 ,
我現在的工作就是將他改善效能 OR 升級到 MYSQL |
在 dbf 只要用 insert into 就可以了, 用到 tableupdate 應該是用到 remote view的方式對吧
我看你還是升級 sql server 吧
my sql 也可以在 win server 執行
不過據說 firebird 在 100個client 以下的效率常高
但是有人建議 erp 級最好用 postgre sql
不過好像 my sql 在台灣用的人比較多, 技術資料也多, postgr sql 比較冷門 |
|
| 回頂端 |
|
 |
tinwhang
註冊時間: 2009-11-08 文章: 104
第 51 樓
|
發表於: 星期日 十一月 29, 2009 11:25 pm 文章主題: |
|
|
| 對,MYSQL 的文件較多,你會用POSTGRSQL ? 連線中文容易嗎? |
|
| 回頂端 |
|
 |
goodnight

註冊時間: 2008-10-13 文章: 473 來自: 台南市
第 52 樓
|
發表於: 星期日 十一月 29, 2009 11:28 pm 文章主題: |
|
|
| tinwhang 寫到: | | 對,MYSQL 的文件較多,你會用POSTGRSQL ? 連線中文容易嗎? |
POSTGRSQL 我不會, 只是有一套 qad 是用這個, 中文沒問題
不過說實在的, 還是 M$ SQL 好用 |
|
| 回頂端 |
|
 |
tinwhang
註冊時間: 2009-11-08 文章: 104
第 53 樓
|
發表於: 星期日 十一月 29, 2009 11:31 pm 文章主題: |
|
|
| 怎說? |
|
| 回頂端 |
|
 |
nelsonchuang
註冊時間: 2003-09-04 文章: 564 來自: 臺灣
第 54 樓
|
發表於: 星期一 十一月 30, 2009 9:13 am 文章主題: |
|
|
| goodnight 寫到: | | tinwhang 寫到: | .DBF 也有用到TABLEUPDATE 的用法 ,
我現在的工作就是將他改善效能 OR 升級到 MYSQL |
在 dbf 只要用 insert into 就可以了, 用到 tableupdate 應該是用到 remote view的方式對吧
我看你還是升級 sql server 吧
my sql 也可以在 win server 執行
不過據說 firebird 在 100個client 以下的效率常高
但是有人建議 erp 級最好用 postgre sql
不過好像 my sql 在台灣用的人比較多, 技術資料也多, postgr sql 比較冷門 |
事實上DBF我也用TableUpdate ,rollback,Tablerevert
這跟用甚麼,沒有關係,甚至我現在也沒有用rlock的功能.
當寫入不成功時,就回復原來的資料,程式寫起來變得簡單了,
而這個方式,事實上,我是跟原來的軟體公司學的. _________________ 大家好,請多指教 |
|
| 回頂端 |
|
 |
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 55 樓
|
發表於: 星期一 十一月 30, 2009 9:49 am 文章主題: |
|
|
| tinwhang 寫到: | | nelsonchuang 寫到: | | ckp6250 寫到: | nelsonchuang 大大說的和我說的,其實是一體兩面
『對於老闆來說,設備跟人一樣,都要發揮最大效益,才算有價值. 』
設備不更新,雖然省了一點錢,但,別忘了,「人」的時間,也是要付薪水的∼
以台灣資訊產品之便宜,薪水永遠大於硬體
提昇性能最簡單的,莫過於擴大記憶體
1G記憶體的價錢,遠低於一天的薪資成本
如果,您的檔案很大,筆數很多,不管再如何分割,再如何精進程式,效能永遠停到某個階段
工程師要把檔案分割或修改程式,難道不用錢嗎?
1G 插上去,千把元,什麼都解決了,設計師還在那兒傷腦筋哩!
台語有句俗話,「會算毋會除,偷米換蕃薯」 |
老實說:當老闆的,只會問你為什麼要花這些錢,根本不會在乎,領薪水的人作了多少事,不,應該說,你要作的事,要比你領的薪水更多才行,所以,他才不管你設備如何?
以前我曾去應徵一家公司的課長,很吃驚,因為原課長,還沒走,來聊了一下.
你知道嗎?課長要離職的主因,竟然是因為電腦設備效能不佳,上頭不批准.
人事的人來跟我聊,居然問:如果公司設備老舊,會不會考慮一定要更換?
問到我都傻了.
不是我愛講些有的沒的,領人家薪水,跟發薪水的,想法是不一樣的.
除非你們公司是靠電腦的速度來賺錢的,不然對於老闆來說:當電腦在跑時,你就應該利用時間作點別的事(充份的利用時間),這才是生存之道. |
依我們公司,設備都還算不錯 ,但在實際運用的時候真的是慢的可以,只有SERVER 上的速度還可以,但其他的CLIENT 都慢的可以一分鐘算客氣,往往三台同時運作的時候真的是龜速可以形容了,因這軟體實在是太慢而更新的電腦不計其數,連LAN 都變1G 了,你看,再不改軟體可以嗎? 依CKP6250說的,30萬筆會變慢真的是胡說八道來說 ,真的是好好改程式的時機,但公司內只有我比較熟電腦,要我改這個似乎是......呵 眼花瞭亂....唉 將之丫,學電腦丫 苦丫 |
我最喜歡這樣的角色了
1.老闆也知道硬體已經升級到一定階段了,只能靠軟體升級
2.自己不是很懂老闆也知道
剩下的就是自己磨練的時間了,而且還是有人花錢請你來學習
和樂而不為啊^^ |
|
| 回頂端 |
|
 |
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 56 樓
|
發表於: 星期一 十一月 30, 2009 10:21 am 文章主題: |
|
|
其實『吃軟不吃硬』或『吃硬不吃軟』
要看實際狀況而定,不能一概而論,
這時,設計師的經驗就很重要了。
明明資料沒幾筆,硬體又不差,偏偏牛步化,
當然要往軟體改良下手,找出問題所在。
反過來講,明明老爺電腦,資料又一卡車,不去改善硬體,強求設計師由程式面解決∼
也是緣木求魚,徒勞無功。
再厲害的單車選手,也騎不過野狼125
籃球場上有句名言:「跳得高不如長得高」
唯有君明臣賢才有盛世呀。 |
|
| 回頂端 |
|
 |
goodnight

註冊時間: 2008-10-13 文章: 473 來自: 台南市
第 57 樓
|
發表於: 星期一 十一月 30, 2009 8:18 pm 文章主題: |
|
|
| ckp6250 寫到: | 其實『吃軟不吃硬』或『吃硬不吃軟』
要看實際狀況而定,不能一概而論,
這時,設計師的經驗就很重要了。
明明資料沒幾筆,硬體又不差,偏偏牛步化,
當然要往軟體改良下手,找出問題所在。
反過來講,明明老爺電腦,資料又一卡車,不去改善硬體,強求設計師由程式面解決∼
也是緣木求魚,徒勞無功。
再厲害的單車選手,也騎不過野狼125
籃球場上有句名言:「跳得高不如長得高」
唯有君明臣賢才有盛世呀。 |
ck 大, 以上紅字深表贊同, 沒有標紅字的是同意, 呵呵 |
|
| 回頂端 |
|
 |
goodnight

註冊時間: 2008-10-13 文章: 473 來自: 台南市
第 58 樓
|
發表於: 星期一 十一月 30, 2009 8:29 pm 文章主題: |
|
|
像硬體幾乎每隔兩年升級一次, 對老闆而言, 最不喜歡看到硬體升級, 但是要買好一點的server硬體, 又很貴, 所以有人就利用了年檔, 月檔的切割方式, 來假提升
有時老闆並不會因為 user 可以快一分鐘就同意換硬體, 常常我都要寫一堆報告和計算給老闆看, 告訴老闆我們應該買更好的硬體, 如果一天一個人有十張訂單, 為了節省十分鐘, 一週只能節省 50 分鐘, 要花個10萬來升級, 老闆是麻木不仁的當做沒看到, 因為慢都是 user 在叫, 再不行就加班吧, 加班一年的加班費, 可能只能買到cpu而已, 反正程式設計人員是萬能的 |
|
| 回頂端 |
|
 |
tinwhang
註冊時間: 2009-11-08 文章: 104
第 59 樓
|
發表於: 星期一 十一月 30, 2009 8:30 pm 文章主題: |
|
|
| goodnight 寫到: | | ckp6250 寫到: | 其實『吃軟不吃硬』或『吃硬不吃軟』
要看實際狀況而定,不能一概而論,
這時,設計師的經驗就很重要了。
明明資料沒幾筆,硬體又不差,偏偏牛步化,
當然要往軟體改良下手,找出問題所在。
反過來講,明明老爺電腦,資料又一卡車,不去改善硬體,強求設計師由程式面解決∼
也是緣木求魚,徒勞無功。
再厲害的單車選手,也騎不過野狼125
籃球場上有句名言:「跳得高不如長得高」
唯有君明臣賢才有盛世呀。 |
ck 大, 以上紅字深表贊同, 沒有標紅字的是同意, 呵呵 |
呵呵 我都非常讚同,因為 只有 軟硬兼施才能達到效率
唯有正確先進的流程,才能再創高鋒
不然為什麼我們的 郭老大 要精進他們公司的機器設備,加快客戶收到貨效率呢? 這就是紅海策略的最高招了
學電腦除了正確率之外,就是要效率,簡化流程、避免錯誤產生、整體流程要排除行業別的 舊病,加快腳步,才有出頭天的一天,每個人都固步自封,那就不會有什麼新的企業大老的產生像 yahoo, google 等 ,不要老是坐在辦公室,多跟整體公司的員工聊聊,什麼事情是流程內該做的事,什麼事是規劃錯誤的流程、 這樣們業才會有希望 ......這是我自我的期許...... |
|
| 回頂端 |
|
 |
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 60 樓
|
發表於: 星期一 十一月 30, 2009 9:00 pm 文章主題: |
|
|
| goodnight 寫到: | | 所以有人就利用了年檔, 月檔的切割方式, 來假提升 |
這造成程式有多複雜呀,程式一複雜,Bug 就增多,效率更甭別了。
想當年(老人家的口頭禪,原諒則個),磁片還是360KB的年代,一次一次抽送(年輕人免想歪),能做一小時以上(我是說做備份啦),現在,還有人這樣玩嗎?
又想當年(一時改不了),安裝 Win 或 Sql Server 或 Novell, 好像磁片十來片(詳細數字不太記得了),現在還有人這樣玩嗎?
裝了半天,備份了半天,好不容易捱到最後,眼看快要完工了,最後一片壞啦,全功盡棄,欲哭無淚。
別提切割了,往事不勘回味。
硬體的事,由硬體去解決吧,程式設計師的心力,不該放在這裡∼
如果那位有毅力,想練練切割『技術』,不妨做個實驗,拿個100M的 DBF 檔,然後去買1.44的磁片一盒,寫段小程式,把這100M的 DBF 檔備份到磁片上;之後,再寫支回存程式,把資料由磁片回存到 DBF 檔來。 |
|
| 回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|