数据库个人优化学习记录
才參加工作不久,很多代碼習慣還沒養(yǎng)成,昨天按要求寫的數(shù)據(jù)庫基本增刪改查操作,在使用這些方法的時候,雖然能實現(xiàn)功能,但是效率低下,還可能產(chǎn)生內(nèi)存問題,今天被項目經(jīng)理一頓教育,在此記錄學到的教訓。
mybatis中重復的代碼使用sql和include標簽進行封裝和調(diào)用
數(shù)據(jù)庫操作使用的是mybatis框架,可以使用sql標簽將經(jīng)常重復的代碼封裝起來,就像java的方法一樣,為了便于重復使用,sql語句中使用include標簽來調(diào)用這段代碼。
這樣寫的好處是,以后修改的時候只需要修改一處代碼即可改動所有,例如使用dynamic標簽動態(tài)生成的where條件判斷語句,在多個sql語句中需要使用,可以將這段代碼封裝,在需要這種判斷條件語句的時候,直接調(diào)用。
sql和include標簽的使用:http://blog.csdn.net/baidu_31657889/article/details/52101130
對數(shù)據(jù)庫的查詢盡量拿到需要的最少數(shù)據(jù)
數(shù)據(jù)庫的操作是需要非常謹慎的,對于數(shù)據(jù)的操作最多的無非就是增刪改查,其中查詢又是最頻繁的。select查詢語句可以獲得大量的數(shù)據(jù)庫數(shù)據(jù),但是有的時候拿到全面的數(shù)據(jù)是不必要的,例如,頁面做了分頁查詢,需要在頁面顯示一個總記錄條目數(shù),這個數(shù)據(jù)可以查詢出所有的數(shù)據(jù),存在一個list里面,再在java中size()出來,也可以直接sql語句(select count(1) from ***)查詢出一個數(shù)值;如果僅僅只是為了拿到條目數(shù)這個值,第二種方法會比第一種方法的效率高很多,如果select查詢出來的條目非常大,把所有的對象都拿出來,這樣會對服務器內(nèi)存造成非常大的壓力,很多時候還會爆內(nèi)存,導致服務器宕機。所以對數(shù)據(jù)庫的查詢盡量拿到需要數(shù)量的最少數(shù)據(jù),完成功能。
轉(zhuǎn)載于:https://www.cnblogs.com/zhaodazzle/p/5956702.html
總結
以上是生活随笔為你收集整理的数据库个人优化学习记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 统一代码风格工具 editorConfi
- 下一篇: 带你认识“货真价实”的P2P网贷风控