【发布时间】:2016-09-08 09:53:45
【问题描述】:
我在从数据库中检索数据时遇到问题, 我正在使用 Mysql 数据库和一个包含 15 个字段的表,我将在表中的模板上显示它。
表中有超过400万条记录,
def index(request):
args = {}
data = Mymodel.objects.all()
args['data'] = data
return render(request, 'index.html', args)
我尝试过这种方式,但数据加载非常缓慢,
我为数据库连接尝试的下一种方法
def index(request):
args = {}
sql = "select * from mymodel"
cursor = connection.cursor()
cursor.execute(sql)
result = cursor.fetchall()
args['result'] = result
return render(request, 'index.html', args)
这也是一样的,我需要更快地加载数据。请向我建议任何可以更快加载数据的方法。
【问题讨论】:
-
您正在尝试显示 400 万条记录,它永远不会很快,您需要决定您实际需要显示什么
-
请看一下 Django 的分页 API:docs.djangoproject.com/en/1.9/topics/pagination
-
分页是加快速度的最佳方式。查询然后尝试显示 400 万条记录是不可取的。