更新時(shí)間:2021年03月04日15時(shí)59分 來(lái)源:傳智教育 瀏覽次數(shù):
使用Django開(kāi)發(fā)過(guò)程中如何優(yōu)化數(shù)據(jù)庫(kù)?
1、設(shè)計(jì)表時(shí),盡量少使用外鍵,因?yàn)橥怄I約束會(huì)影響插入和刪除性能。
2、使用緩存,減少對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。
3、在orm框架下設(shè)置表時(shí),能用varchar確定字段長(zhǎng)度時(shí),就別用text。
4、可以給搜索頻率高的字段屬性,在定義時(shí)創(chuàng)建索引。
5、Django orm框架下的Querysets 本來(lái)就有緩存的。
6、如果一個(gè)頁(yè)面需要多次連接數(shù)據(jù)庫(kù),最好一次性取出所有需要的數(shù)據(jù),減少對(duì)數(shù)據(jù)庫(kù)的查詢次數(shù)。
7、若頁(yè)面只需要數(shù)據(jù)庫(kù)里某一個(gè)兩個(gè)字段時(shí),可以用QuerySet.values()。
8、在模板標(biāo)簽里使用with標(biāo)簽可以緩存Qset的查詢結(jié)果。
猜你喜歡
Python實(shí)戰(zhàn)開(kāi)發(fā)項(xiàng)目視頻教程:美多商城開(kāi)發(fā)實(shí)戰(zhàn)【傳智教育】
2021-02-22NumPy數(shù)組有幾種創(chuàng)建方法?
2021-02-03complie()函數(shù)預(yù)編譯正則表達(dá)式
2021-01-28Python的面向?qū)ο笈c面向編程有什么區(qū)別?
2021-01-28Python怎樣導(dǎo)入不同模塊和包?包的結(jié)構(gòu)是什么?
2021-01-27Python網(wǎng)絡(luò)爬蟲(chóng)獲取數(shù)據(jù)有哪幾種方式?
2021-01-27北京校區(qū)