冷面閻羅

          低調(diào)做人&&高調(diào)做事
          隨筆 - 208, 文章 - 3, 評(píng)論 - 593, 引用 - 0
          數(shù)據(jù)加載中……

          有關(guān)項(xiàng)目的優(yōu)化問(wèn)題

          ???? 今天測(cè)試程序,某一菜單進(jìn)去的時(shí)候比較慢,應(yīng)該說(shuō)是很慢,我就跟蹤也沒(méi)有發(fā)現(xiàn)什么地方不妥的。只是有些查詢(xún)語(yǔ)句感覺(jué)不大好。
          ?????? 1、查詢(xún)數(shù)據(jù)庫(kù),應(yīng)該要有主鍵,這樣查詢(xún)比較快。
          ?????? 2、少用string 應(yīng)該多用stringbuffer。
          ?????? 3、應(yīng)該多操作內(nèi)存,少操作數(shù)據(jù)庫(kù)。
          ?????? 4、if else 應(yīng)該用的合理,if走完后應(yīng)該跳過(guò)后面的判斷,不要重復(fù)判斷。
          ?????? 5、其實(shí)最主要的還是搞清編譯的環(huán)境--運(yùn)行時(shí)還是.......?
          ?????? 6、少用new,變量比較多時(shí)用完后盡早回收。
          ????? 其實(shí)主要的還是代碼的“干凈”,要養(yǎng)成良好的書(shū)寫(xiě)代碼習(xí)慣。
          ???? 今天在晚上看到一篇文章比較不錯(cuò),大家可以借鑒一下。 Java 理論與實(shí)踐: 動(dòng)態(tài)編譯與性能測(cè)量

          posted on 2007-03-29 21:43 冷面閻羅 閱讀(1541) 評(píng)論(10)  編輯  收藏 所屬分類(lèi): java

          評(píng)論

          # re: 有關(guān)項(xiàng)目的優(yōu)化問(wèn)題[未登錄](méi)  回復(fù)  更多評(píng)論   

          1、查詢(xún)數(shù)據(jù)庫(kù),應(yīng)該要有主鍵,這樣查詢(xún)比較快。
          一般設(shè)計(jì)者都會(huì)設(shè)好主健,設(shè)好主健就快了嗎?答案是否定的,數(shù)據(jù)庫(kù)的查詢(xún)速度有很多因素,第一設(shè)置索引,第二查詢(xún)時(shí)避免使用OR,少用不等于比較等等。
          2、少用string 應(yīng)該多用stringbuffer。
          這個(gè)倒是正確,但是能做到的人太少,因?yàn)槭褂闷饋?lái)很麻煩
          3、應(yīng)該多操作內(nèi)存,少操作數(shù)據(jù)庫(kù)。
          這個(gè)倒是需要斟酌思量,比如要求數(shù)據(jù)即時(shí)性

          其實(shí)這些都在項(xiàng)目經(jīng)驗(yàn)的積累。。。。肯能你以后會(huì)有更多領(lǐng)悟
          2007-03-29 22:15 | 開(kāi)源狂人

          # re: 有關(guān)項(xiàng)目的優(yōu)化問(wèn)題  回復(fù)  更多評(píng)論   

          數(shù)據(jù)庫(kù)的查詢(xún)是比較頭疼的事,sql語(yǔ)句的優(yōu)化,數(shù)據(jù)庫(kù)字段的設(shè)計(jì) 這些專(zhuān)業(yè)的dba好多都說(shuō)不明白,更何況是我們這邊寫(xiě)程序的人。

          數(shù)據(jù)實(shí)時(shí)性這個(gè)也是需要著重考慮的,有些需要刷新比較快,應(yīng)該考慮刷新的方法,查詢(xún)數(shù)據(jù)庫(kù)應(yīng)該在刷新前,最好是在后臺(tái)進(jìn)行。
          2007-03-29 22:46 | 冷面閻羅

          # re: 有關(guān)項(xiàng)目的優(yōu)化問(wèn)題  回復(fù)  更多評(píng)論   

          說(shuō)到這個(gè),我想起來(lái)我們做演示版本的數(shù)據(jù)庫(kù)的時(shí)候,用了很多存儲(chǔ)過(guò)程和視圖,頻繁與數(shù)據(jù)庫(kù)交互,結(jié)果導(dǎo)致程序運(yùn)行速度很慢。
          2007-03-30 08:02 | 米香兒

          # re: 有關(guān)項(xiàng)目的優(yōu)化問(wèn)題  回復(fù)  更多評(píng)論   


          這么多問(wèn)題中,第1條(不一定是只需要主鍵的)最為關(guān)鍵,其余的基本上對(duì)性能影響不大,尤其是第2、4、6。第6點(diǎn)簡(jiǎn)直會(huì)誤解程序員。
          2007-03-30 08:40 | wangzx

          # re: 有關(guān)項(xiàng)目的優(yōu)化問(wèn)題  回復(fù)  更多評(píng)論   

          第6點(diǎn)完全是誤導(dǎo)
          2007-03-30 08:57 | dennis

          # re: 有關(guān)項(xiàng)目的優(yōu)化問(wèn)題  回復(fù)  更多評(píng)論   

          用 Profiler 分析分析, 籠統(tǒng)的下結(jié)論是不妥當(dāng)?shù)?
          2007-03-30 10:13 | BeanSoft

          # re: 有關(guān)項(xiàng)目的優(yōu)化問(wèn)題  回復(fù)  更多評(píng)論   

          第六條回收變量這個(gè)值得商榷。
          java調(diào)用回收器效果不是很好,不如讓它自動(dòng)回收。
          第二條理論上是正確的,在大量操作字符串的時(shí)候效果最好,但是StringBuffer用起來(lái)實(shí)在是比較麻煩
          2007-03-30 14:05 | yuri

          # re: 有關(guān)項(xiàng)目的優(yōu)化問(wèn)題  回復(fù)  更多評(píng)論   

          我個(gè)人感覺(jué)new是不大好的,而且感覺(jué)java的垃圾回收也只能在系統(tǒng)空閑時(shí),而在c++中就要處處考慮內(nèi)存的問(wèn)題,那么我們?cè)趈ava中是可以借鑒一下的,如果系統(tǒng)不大的話(huà),這些就不用考慮那么多了,我現(xiàn)在手頭上這個(gè)項(xiàng)目java代碼差不多有100M。
          2007-03-30 14:49 | 冷面閻羅

          # re: 有關(guān)項(xiàng)目的優(yōu)化問(wèn)題  回復(fù)  更多評(píng)論   

          好文!或許new這個(gè)問(wèn)題可以在以后更多的并發(fā)應(yīng)用中慢慢被"忽視"掉
          2007-04-07 03:37 | Shawn the Rock

          # re: 有關(guān)項(xiàng)目的優(yōu)化問(wèn)題  回復(fù)  更多評(píng)論   

          少用string 應(yīng)該多用stringbuffer。
          這點(diǎn)我不敢茍同,其實(shí)在jdk5以后,string的性能已經(jīng)有了很大的提高,只有很特殊情況才應(yīng)該考慮stringbuffer,不要過(guò)于追求那些細(xì)微的內(nèi)存
          2007-05-22 09:02 | littleredboy
          主站蜘蛛池模板: 开鲁县| 南岸区| 通州市| 砚山县| 忻城县| 平顺县| 中超| 寿宁县| 屏山县| 托里县| 清流县| 大余县| 大宁县| 来凤县| 桂平市| 洛隆县| 惠水县| 明光市| 武城县| 定陶县| 洪泽县| 岫岩| 河北区| 六枝特区| 城口县| 通山县| 阿鲁科尔沁旗| 昌宁县| 怀宁县| 甘肃省| 庆云县| 阜康市| 泰和县| 剑河县| 莆田市| 梓潼县| 尖扎县| 黎川县| 桂东县| 东方市| 囊谦县|