Entity Framework 多唔多人用?

你地好 , 我試用過Entity Framework
1. 起動好慢 , 係Intel J1900 電腦起動要成 5 秒
2. 大量更新/刪除資料 , 係背後運作唔夠醒目 , 好多重覆動作
3. 冇bulk copy , 兩個table 經網路做同步 , 要太多時間

可能係我唔識用 , 請指教
你們為客做既project 會用它嗎 ? 定係用番 ado.net?

謝謝

你地好 , 我試用過Entity Framework
1. 起動好慢 , 係Intel J1900 電腦起動要成 5 秒
2. 大量更新/刪除資料 ...
helloyes 發表於 2016-1-22 22:09



    I usually use it . Because it can raise the development speed although lose some performance  in the program

TOP

用得ORM預左效能唔夠直接寫SQL咁optimize
有時一下唔留意, 響個loop做野, 行左幾千個query都唔奇

不過PC performance值錢定programmer人工值錢?

TOP

用得ORM預左效能唔夠直接寫SQL咁optimize
有時一下唔留意, 響個loop做野, 行左幾千個query都唔奇

不 ...
KinChungE 發表於 2016-1-26 12:04



大把公司認為行到就OK
請多個咪制

TOP

岩岩再發現問題係好食ram , 試過十幾次新增/刪除10000 rows 動作, ram使用可以上到 500MB
我唸都係寫番 sql
希望EF將來有改善

TOP

本帖最後由 helloyes 於 2016-1-27 13:43 編輯
用得ORM預左效能唔夠直接寫SQL咁optimize
有時一下唔留意, 響個loop做野, 行左幾千個query都唔奇

不 ...
KinChungE 發表於 2016-1-26 12:04


我都有預左效能會多左損耗 , 始終中間要做多層野
但實際測試上遠超我估計

因為每次改program 都要攪埋database 果邊 , 要好小心先得 , 而且好麻煩
所以想試下改用 EF

TOP

岩岩再發現問題係好食ram , 試過十幾次新增/刪除10000 rows 動作, ram使用可以上到 500MB
我唸都係寫番 sql ...
helloyes 發表於 2016-1-27 13:30


呢度個主流意見係.. 唔夠快就加機啦.. you know?
人工值錢定機值錢... 有時d野可能一句好簡單raw sql就做到..

TOP

本帖最後由 jzu 於 2016-1-30 00:08 編輯

小弟經驗不多,但個人認為用得EF就要預左諗定好多方法去就返performance (e.g. db design)

至於query/update 大量data (>= 50000 records左右), 一定要分批次咁去行(e.g. 每次handle 1,000 or 10,000條), 仲要記得每個批次都要有自己獨立db entities variable, 咁先唔會越行越慢同唔會有memory leak問題

又例如batch add 10萬條record, 好簡單一個setting就已經可以令個performance快幾百甚至幾千倍

用得ORM唔好諗期望個library會幫你tune performance, 慳ram, 因為佢根本唔知你個app實際使用情況, 無可能做到
只可以咁講, 你用左一段時間就會自自然然學識點去google搵reference同知道點寫先叫快

最後想講句, 好多人認為用得EF一定係會拖慢system, 咁你一定係初哥, 其實如果你已經好熟ORM既性質, 你會發覺ORM可以行得快過普通ADO (e.g. in memory data processing, save many connections)

可能好講得好深奧, 但真心想分享下, 因為ORM真係好用到返唔到轉頭, 正確使用唔會慢, 而且可以配會返傳統ADO一齊用, 絕對無衝突

TOP

本帖最後由 helloyes 於 2016-1-30 14:03 編輯
小弟經驗不多,但個人認為用得EF就要預左諗定好多方法去就返performance (e.g. db design)

至於query/upda ...
jzu 發表於 2016-1-30 00:05



比你提一提 , 轉用分批去處理可以解決ram 使用問題
不過做大量更新始終慢 , 但我會繼續goolge 解決方法

有一樣野想請教 , 唔好怪我問白痴問題
如果每做完一個動作(新增/刪除/更新) , 好唔好做釋放?
動作都幾頻密, 間中三十秒內有約一千個新增

因為真係好用, 我都唔想咁易放棄
謝謝你

TOP

比你提一提 , 轉用分批去處理可以解決ram 使用問題
不過做大量更新始終慢 , 但我會繼續goolge 解決方法 ...
helloyes 發表於 2016-1-30 02:01 PM


首先要攪清楚,邊種大量更新?
係全部records update做同一個value定各有各自己既獨立value?
如果係前者其實有extension可以做到同sql update statement一樣既效果
後者的話, 如果你分批去做, 應該唔會慢ado太多

至於釋放, 其實一批一批咁去做release都好夠, 你release得太多反而增加左connection次數
不過就算你用ado, 你每做一次都release都係一樣慢

最後都係果句, 寫program既野唔好太局限自己, 好多野可以共存, 永遠無話用死EF定ADO, 兩者可以混合使用達到最佳效果的

TOP