談談一直被開發者們過於在乎的效能問題
【本文轉自部落格園 作者:十三燕 原文連結: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個問題挑戰你的遊戲新創意遊戲
- 關於IOS開發者證書過期的問題iOS
- jsp、servlet關於中文問題再談JSServlet
- Google效能專家Ilya Grigorik訪談問題有獎徵集(圖靈訪談)Go圖靈
- 談談CSS瀏覽器的相容問題。集錦CSS瀏覽器
- 也談談同源策略和跨域問題跨域
- 獨立開發者談品牌的續作化和再創造的問題
- 【原創】談談redis的熱key問題如何解決Redis
- 談談Nodejs值得你思考的一些問題NodeJS
- 遊戲開發者談遊戲行業融資時常見的五個問題遊戲開發行業
- 談談關於如何破解OicqPassOver.exe Ver1.14的問題 (4千字)
- 談談人們對人工智慧的誤解人工智慧
- 開發者談遊戲互動小說創作的七個需要關注的問題遊戲
- 座談-Web開發中你所遇到的效能問題(大獎)Web
- 關於程式設計師的996,我們談談歷史和邏輯程式設計師996
- 淺談 js 中的 this 指向問題JS
- 再談量化策略失效的問題
- 當我們談優化時,我們談些什麼優化
- 寫在校招季,談談機器學習崗的Offer選擇問題機器學習
- 談談你對前端效能優化的理解前端優化
- 當我們談 Java 併發的時候,你們在談什麼?Java
- C++雜談之關於檔案操作的若干問題C++
- 談談大資料採集和常見問題大資料
- 談談出入React框架踩過的坑React框架
- 從 React render 談談效能優化React優化
- 我們們一起來談談,redis為什麼快?Redis
- 開發者談如何通過遊戲社群更好地理解玩家遊戲
- 談談OKHttp的幾道面試題HTTP面試題
- 阿里二面:談談ThreadLocal的記憶體洩漏問題?問麻了。。。。阿里thread記憶體
- 再談通過http訪問SSASHTTP
- 淺談SQL Server中的快照問題SQLServer
- 淺談深度學習的落地問題深度學習
- 談談對於JavaFX開發的感想Java
- 讓我們談談自動駕駛的未來和「道德」自動駕駛
- 當我們談論格鬥遊戲時,我們在談論什麼遊戲
- 談談本人學Linux的小過程Linux