如何获得django orm查询所花费的时间?
另外,以下哪个查询更快?在
ShipmentPPTLMapping.objects.get(shipment_id = shipment_id)
或ShipmentPPTLMapping.objects.filter(shipment_id = shipment_id)[0]
也适用于这些查询。哪个更快
ShipmentPPTLMapping.objects.filter(pptl_id = pptl_id).exclude(bag_seal_status = 'close').count())
或ShipmentPPTLMapping.objects.filter(pptl_id = pptl_id,bag_seal_status = 'open').count())
一种选择是使用django-debug-toolbar:它测量对每个视图执行的每个查询。在
这是任何django应用程序上的一个必须。在
关于其他问题:
我想说它们是等价的。在Django代码中,
get
使用filter
并检索第一个元素。也应该是等价的,因为}只是}的不同名称,并且链接相当于有一个逗号:查询通过
filter
和{filter(Q(...))
和{AND
连接。 但是,由于在一个中使用"open"
,而在另一个中使用"close"
,这可能会对特定后端的执行方式产生影响,而且可能只有通过分析才能衡量这种差异。相关问题 更多 >
编程相关推荐