談談一直被開發者們過於在乎的效能問題
【本文轉自部落格園 作者:十三燕 原文連結:https://www.cnblogs.com/13yan/p/3539938.html】
軟體開發者最初為了做出某種功能而努力著。
當有一天,開發者們掌握了開發的門道,實現功能已經家常便飯了。
於是人們開始考慮更多問題,效能就是一個問題。
通常2-4年工作經驗的開發者會很糾結這個問題,但由於基礎參差不齊,對效能的理解也大不相同。
那些年也許我們過於在乎效能問題了。
誤區一:O/RM工具影響效能
發現很多人喜歡拿O/RM工具討論效能,害怕引入ORM工具以後帶來損失效能的問題,
不過據我所知目前一些主流的ORM工具效能都半斤八兩,ORM工具之間的比較不是效能問題,而是使用習慣的問題。
ORM與原生ADO.NET比較,肯定會損失一定的效能,但是帶來了提高開發效率的優勢。
據我所知,很多同行做著的OA、ERP什麼的系統使用者數量都不多,
過於計較效能問題,那就是拿5%不到的特殊情況,拒絕大多數情況提高開發效率。
沒有人說用了ORM就一定要每個地方都用ORM到底。
誤區二:儲存過程可提高效能
採用儲存過程本身沒有什麼問題,過於頻繁地用儲存過程,除錯就會比較煩。
1、程式里加斷點,然後變數複製到儲存過程里加斷點除錯。
2、過於依賴儲存過程,資料庫裡包含業務邏輯,業務邏輯就分散在程式與資料庫,程式碼可讀性損失。
3、呼叫儲存過程的確讓很多SQL語句變成了一個儲存過程名和引數,減少了網路傳輸,但很多情況下不需要這點效能。
4、業務邏輯都寫在儲存過程裡了,用面嚮物件語言的話就當做程式導向語言用了,對開發功能複雜的專案比較不利。
誤區三:大資料效能問題
只要接觸到幾百萬或者幾千萬就認為是大資料,有些人甚至以為MSSQLSERVER資料庫碰到千萬級的就得掛了。
其實不然,如果每個月以百萬級的資料增長,那麼對查詢而言這些都是小資料,利用分割槽與查詢約束還是比較容易解決的。
而用同樣的方法,MSSQLSERVER也能處理超越千萬級的資料。
資料庫真正的效能問題在哪裡?
真正的效能問題從宏觀上講我認為是資料庫設計問題,微觀上則是SQL調優。
總結
不該以效能為理由拒絕ORM工具,也不該濫用儲存過程。
關注效能從設計階段開始,不可過於糾結效能問題而損失開發效率。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31137683/viewspace-2155764/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 談談關於設計資料管理/治理角色的問題
- 開發者談9個問題挑戰你的遊戲新創意遊戲
- 獨立開發者談品牌的續作化和再創造的問題
- 當談PCIe SSD的高效能,我們在談什麼(上)
- 當談PCIe SSD的高效能,我們在談什麼(下)
- 談談你們是如何開始寫部落格的
- 因開發ChatGPT應用被約談ChatGPT
- 當我們談 Java 併發的時候,你們在談什麼?Java
- [20221128]再談防水牆(檢視訪問效能問題).txt
- 也談SAP業務顧問如何避免被ABAP開發顧問怒打
- 與《肯塔基 0 號公路》開發者們暢談十年開發的酸甜苦辣
- 遊戲開發者談遊戲行業融資時常見的五個問題遊戲開發行業
- 開發者談遊戲互動小說創作的七個需要關注的問題遊戲
- 開發者談如何通過遊戲社群更好地理解玩家遊戲
- 談談Nodejs值得你思考的一些問題NodeJS
- 【原創】談談redis的熱key問題如何解決Redis
- 也來談談無法刪除db link的問題
- 開發者談如何通過有效的規劃讓遊戲核心更好玩遊戲
- 談談 Kubernetes 的匿名訪問
- 關於程式設計師的996,我們談談歷史和邏輯程式設計師996
- 開發者談如何讓遊戲的開發過程本身也相對有趣一些遊戲
- 從線上當機引起的問題談開去
- 淺談 js 中的 this 指向問題JS
- 再談量化策略失效的問題
- ios開發者談談技術面試那些坑 | 掘金技術徵文iOS面試
- 談談你對前端效能優化的理解前端優化
- 阿里二面:談談ThreadLocal的記憶體洩漏問題?問麻了。。。。阿里thread記憶體
- 被忽視的開發安全問題
- 談談人們對人工智慧的誤解人工智慧
- 當我們在談零信任時,我們談的是什麼?
- 多位開發者談吸引Speedrun玩家的6大技巧
- 《健身環大冒險》開發者訪談
- 談談大資料採集和常見問題大資料
- 從海外開發者大會的親身體悟聊起,談談 AI 與開發者關係的重構 | 編碼人聲AI
- 從 React render 談談效能優化React優化
- 談談本人學Linux的小過程Linux
- 談談 SAP iRPA Studio 建立的本地專案的雲端部署問題
- Python | 淺談併發鎖與死鎖問題Python