jquery - Django查询慢,优化

标签 jquery mysql sql django optimization

def search(request):
    found_entries = None
    query = Q(feedstock__fs_name__icontains=corn
    found_entries = Sample.objects.filter(query).exclude(status_id=3).order_by('id')
    queries = request.GET.copy()
    sample = paging(request, found_entries)
    return render_to_response('search_results.html', {'sample': sample, 'queries': queries},
                          context_instance=RequestContext(request))

这会返回大约 9000 个条目,查询需要很长时间。而对于分页来说,如果你点击下一页,那么花费的时间就和重新查询数据一样长。关于如何加快查询或优化查询有什么想法吗?

最佳答案

您是否尝试过使用 Django 分页来设置结果大小?如果没有,我会说看看 https://docs.djangoproject.com/en/1.8/topics/pagination/

以下是与您相关的文档的长处和短处:

从 django.core.paginator 导入 Paginator、EmptyPage、PageNotAnInteger

def listing(request):
    contact_list = Contacts.objects.all()
    paginator = Paginator(contact_list, 25) # Show 25 contacts per page

    page = request.GET.get('page')
    try:
        contacts = paginator.page(page)
    except PageNotAnInteger:
        # If page is not an integer, deliver first page.
        contacts = paginator.page(1)
    except EmptyPage:
        # If page is out of range (e.g. 9999), deliver last page of results.
        contacts = paginator.page(paginator.num_pages)

    return render_to_response('list.html', {"contacts": contacts})

关于jquery - Django查询慢,优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30405215/

相关文章:

javascript - 在 javascript 对象数组中分组和排序

jquery - 找到 Sibling <td> 中的复选框并使用 jQuery 进行检查

MySql 更新查询以插入 JSON 值

sql - 数据库会读但不会写

javascript - 在javascript中构建参数数组

javascript - JS动态获取ID

javascript - 为什么我的 Jquery Autocomplete 无法处理 Mysql 数据

php - "likes for comments"数据库设计?

mysql - 统计付费用户的不同数量

sql - 执行 SELECT * WHERE not null 的最快方法