python – 为什么django ORM比原始SQL慢得多
发布时间:2020-12-20 11:37:37 所属栏目:Python 来源:网络整理
导读:我有以下两段代码: 首先,在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 ''
我有以下两段代码:
首先,在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.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |