乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      提高django model效率的幾個小方法

       天才白癡書館 2015-04-13

      提高django model效率的幾個小方法

      django的model效率不是很高,特別是在做大量的數(shù)據(jù)庫操作的時候,如果你只用django來開企業(yè)站或者外包項目的話,那可以小跳過下,而你恰巧是效率狂或者說是對程序的效率要求比較高的話,那就要注意下面的幾個方法。

      1. count()方法:
      我們想用count方法來獲取記錄的條數(shù)可以采用下面的方法:

      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()要執(zhí)行SELECT COUNT()語句,其實是查詢了下數(shù)據(jù)庫,這樣如果記錄比較多的情況下,
      查詢數(shù)據(jù)庫的效率還是比較高的.

      比如我們可以用len()方法來求長度的話,使用的迭代,效果更低。

      info = info.objects.filter('...')
      num = len(info)



      2多用切片

      比如我們要查詢數(shù)據(jù)的話,如果你的數(shù)據(jù)量比較大的情況下,你沒有限定要查詢的范圍,對系統(tǒng)的開銷會非常的大,比如你要分頁的顯示
      新聞數(shù)據(jù),那你就要按照一頁要顯示多少數(shù)據(jù),就讀取多少數(shù)據(jù),而不是一次起把數(shù)據(jù)全部給讀出來,然后再根據(jù)限定的條件來顯示的數(shù)據(jù)。
      比如你要顯示前10條的新聞的話按照下面的方法來做:
      news = News.objects.all()[1:10]
      而不是:
      news = News.objects.all()
      news = news[1:10]

      因為
      news = News.objects.all()
      news = news[1:10]

      你是把數(shù)據(jù)庫里的數(shù)據(jù)全部給讀出來,這樣效率不是很高。

      上面說的這幾點是提高django model效率的幾個小方法,希望大家平時在用django開發(fā)項目的時候要注意一些效率方面的東西。
      下面關(guān)于django model的一篇文章:
      django model的get和filter方法的區(qū)別

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多