一 利用標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)優(yōu)化技術(shù)
為寬城等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及寬城網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、寬城網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!傳統(tǒng)數(shù)據(jù)庫(kù)優(yōu)化技術(shù)博大精深,不同的數(shù)據(jù)庫(kù)有不同的優(yōu)化技巧,但重心還是有規(guī)則的。在這里算是題外話,挑兩點(diǎn)通用的說(shuō)說(shuō):
索引,給關(guān)鍵的字段添加索引,性能能更上一層樓,如給表的關(guān)聯(lián)字段,搜索頻率高的字段加上索引等。Django建立實(shí)體的時(shí)候,支持給字段添加索引,具體參考Django.db.models.Field.db_index。按照經(jīng)驗(yàn),Django建立實(shí)體之前應(yīng)該早想好表的結(jié)構(gòu),盡量想到后面的擴(kuò)展性,避免后面的表的結(jié)構(gòu)變得面目全非。
使用適當(dāng)字段類型,本來(lái)varchar就搞定的字段,就別要text類型,小細(xì)節(jié)別不關(guān)緊要,后頭數(shù)據(jù)量一上去,愈來(lái)愈多的數(shù)據(jù),小字段很可能是大問(wèn)題。
二 了解Django的QuerySets
了解Django的QuerySets對(duì)象,對(duì)優(yōu)化簡(jiǎn)單程序有至關(guān)重要的作用。QuerySets是有緩存的,一旦取出來(lái),它就會(huì)在內(nèi)存里呆上一段時(shí)間,盡量重用它。
# 了解緩存屬性: >>> entry = Entry.objects.get(id=1) >>> entry.blog # 博客實(shí)體第一次取出,是要訪問(wèn)數(shù)據(jù)庫(kù)的 >>> entry.blog # 第二次再用,那它就是緩存里的實(shí)體了,不再訪問(wèn)數(shù)據(jù)庫(kù) >>> entry = Entry.objects.get(id=1) >>> entry.authors.all() # 第一次all函數(shù)會(huì)查詢數(shù)據(jù)庫(kù) >>> entry.authors.all() # 第二次all函數(shù)還會(huì)查詢數(shù)據(jù)庫(kù)
當(dāng)前題目:Django的性能優(yōu)化實(shí)現(xiàn)解析-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)鏈接:http://aaarwkj.com/article48/cojhep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、微信小程序、商城網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站建設(shè)、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)