Por que o django ORM é muito mais lento que o SQL bruto
Eu tenho os seguintes dois pedaços de código:
Primeiro, no SQL:
self.cursor.execute('SELECT apple_id FROM main_catalog WHERE apple_id=%s', apple_id)
if self.cursor.fetchone():
print '##'
Em seguida, no Django:
if Catalog.objects.filter(apple_id=apple_id).exists():
print '>>>'
Fazer da primeira maneira é cerca de 4x mais rápido que a segunda, em um loop de 100 mil entradas. O que explica o Django ser muito mais lento?