django的model效率不是很高,特別是在做大量的資料庫操作的時候,如果你只用django來開企業站或者外包專案的話,那可以小跳過下,而你恰巧是效率狂或者說是對程式的效率要求比較高的話,那就要注意下面的幾個方法。
1. count()方法:
我們想用count方法來獲取記錄的條數可以採用下面的方法:
num = info.objects.filter('...').count()
我們來看下django model模組裡面count方法是怎麼寫的?
def count(self):
"""
Performs a SELECT COUNT() and returns the number of records as an
integer.
If the QuerySet is already fully cached this simply returns the length
of the cached results set to avoid multiple SELECT COUNT(*) calls.
"""
if self._result_cache is not None and not self._iter:
return len(self._result_cache)
return self.query.get_count(using=self.db)
從上面的看來,djang model的count()要執行SELECT COUNT()語句,其實是查詢了下資料庫,這樣如果記錄比較多的情況下,
查詢資料庫的效率還是比較高的.
比如我們可以用len()方法來求長度的話,使用的迭代,效果更低。
info = info.objects.filter('...')
num = len(info)
2多用切片
比如我們要查詢資料的話,如果你的資料量比較大的情況下,你沒有限定要查詢的範圍,對系統的開銷會非常的大,比如你要分頁的顯示
新聞資料,那你就要按照一頁要顯示多少資料,就讀取多少資料,而不是一次起把資料全部給讀出來,然後再根據限定的條件來顯示的資料。
比如你要顯示前10條的新聞的話按照下面的方法來做:
news = News.objects.all()[1:10]
而不是:
news = News.objects.all()
news = news[1:10]
因為
news = News.objects.all()
news = news[1:10]
你是把資料庫裡的資料全部給讀出來,這樣效率不是很高。
上面說的這幾點是提高django model效率的幾個小方法,希望大家平時在用django開發專案的時候要注意一些效率方面的東西。
提高django model效率的幾個小方法
相關文章
- 提高Python執行效率的5個小技巧!Python
- 提高 Java 效率的 35 個小技巧,用了的都說好!Java
- 提高採購流程效率的方法
- 分享幾個比較提高工作效率的軟體
- 提高程式碼顏值的幾個小技巧
- 提高開發效率小技巧
- SAP ABAP Development Tool 提高開發效率的十個小技巧dev
- Django的User ModelDjango
- 常用的幾個提高iOS開發效率的開源類庫及工具iOS
- 提高iOS App開發效率的方法iOSAPP
- 5個方法,幫助你快速提高團隊管理效率
- 幾個可以提高工作效率的 Python 內建小工具Python
- Django的User Model(2)Django
- 學會這幾個Excel快捷鍵,工作效率終於提高啦!Excel
- 快速提高程式設計技術的幾個小竅門程式設計
- 幾個小技巧,幫你快速提高遊戲的打擊感遊戲
- Oracle提高SQL執行效率的三種方法ITOracleSQL
- 提高Python執行效率的5個技巧!Python
- 一些提高開發效率的小體會
- 分享幾個組合Git+Shell提升工作效率的小技巧Git
- 兩個最多可以提高千倍效率的Go語言程式碼小技巧Go
- 【譯】提高React開發效率的5個工具React
- 4個Excel技巧,提高你的工作效率!Excel
- 推薦幾款提高體驗與效率的 Chrome 外掛神器Chrome
- Django model總結(上)Django
- 提高招人的效率
- 程式設計師入門,7個方法幫助你提高學習效率!程式設計師
- 代理伺服器IP提高效率的方法伺服器
- 提高API效能的幾個綜合策略API
- 分享一個提高運維效率的 Python 指令碼運維Python指令碼
- 5 個提高效率的 GNOME 快捷鍵
- 一個人如何提高效率
- Django搭建個人部落格:編寫部落格文章的Model模型Django模型
- 從外部獲取一個django專案的所有model名稱Django
- Array的幾個小技巧
- 在Oracle裡提高SQL執行效率的三種方法NQOracleSQL
- 可以提高php程式設計效率的20個要點PHP程式設計
- 一個提高工作效率的常用linux命令Linux
- [IDE工具篇]提高辦公效率的幾款軟體(持續更新中)IDE