[英]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.