3
這麼多慢我的代碼如下兩個部分:爲什麼Django的ORM比原始的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是「對象 - 關係映射」的首字母縮寫。對每一行實例化一個完整的對象可能是「麻煩」,但這是作爲一個ORM的本質,另一個提問者進行了一些測試,並確定Django 1.8+在性能上有了比原始SQL方式更大的改進做事。 – Bobort 2016-10-10 18:22:59