python - 对于超过 1000 个结果,for 循环 for(django 或原始查询集)执行缓慢
问题描述
我无法在 ajax 请求中获得超过 1000 个结果(服务器因大数据结果而超时)。我在这里写了一个简单的查询
query = '''SELECT l.id, l.timestamp,
m.dname, m.user_id FROM leaduser l
LEFT JOIN manager_detail m ON m.user_id=l.manager_id
LEFT JOIN LATERAL (SELECT user_id AS log_id FROM
lead_user_logs WHERE user_id=l.id ORDER BY
TIMESTAMP ASC LIMIT 1) ll on TRUE '''
现在是 for 循环:
arr=[]
for lead in leads:
new_dict = {
'name': '<a href="{}">{}</a>'.format(lead.get_absolute_url(), lead.name),
'phone': lead.phone,
'manager': lead.dname,
'clinic': lead.pname,
'dietitian': lead.dname,
'doj': localtime(lead.timestamp).strftime('%d-%m-%Y'),
'time': localtime(lead.timestamp).strftime('%I:%M %p'),
'sourcece': lead.source,
'country': lead.address['Country'],
'state': lead.address['State'],
'city': lead.address['City'],}
arr.append(new_dict)
我无法在这里找到问题所在(访问 db 列时循环变慢)
解决方案
推荐阅读
- r - 更改 aes 映射的配色方案 (ggplot2)
- java - Java 应用程序:序列工作流模式
- java - 递归合并排序 - Thinbug
- php - 在自己的网络和移动应用程序中发布广告
- django - Django DRF 在序列化程序返回错误中添加带有查询的行
- loops - 创建循环以在文件中查找和替换,然后创建多个输出文件
- scala - 如何反映scala类实例?
- github - 是否可以在 Google Cloud Composer 上安装 github 存储库
- python - Python Pandas 'head' 属性不起作用
- firebase - Angular 6、NGXS 和 Firestore