簡體   English   中英

為什么django ORM比原始SQL慢得多

[英]Why is django ORM so much slower than raw SQL

我有以下兩段代碼:

首先,在SQL中:

self.cursor.execute('SELECT apple_id FROM main_catalog WHERE apple_id=%s', apple_id)
if self.cursor.fetchone():
    print '##' 

接下來,在Django中:

if Catalog.objects.filter(apple_id=apple_id).exists():
    print '>>>'

第一種方式是在100k條目的循環中比第二種方式快4倍。 Django的速度如此之慢?

通常,ORM會為每行實例化一個完整的對象並返回它而煩惱。 您的原始SQL不會這樣做,因此它不會受到引發的懲罰。 對於不打算使用該對象的大型結果集,最好繞過ORM。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM