首页 > 解决方案 > 更快地从 Flask 到 Datatables 的一百万条记录的最佳方法是什么?

问题描述

我试图从我的数据库中传递一百万条记录,这些记录使用 sqlalchemy 到数据表插件。

这是我的示例代码。

路线.py

def load_sales_records():
    # query data from database
    query = Sales.query.all()

    DATA_SAMPLE = []

    # Store data records in list variable for pass to templates which have a million records
    for q in query:
        temp_dict = []
        temp_dict.append(q.id)
        temp_dict.append(q.product_name)
        temp_dict.append(q.price)
        DATA_SAMPLE.append(temp_dict)

    return jsonify({'data':DATA_SAMPLE})

索引.html

$(document).ready(function() {
        var table = $('#example').DataTable({
            "serverside":true,
            "deferRender": true,
            "ajax": 'load_sales_records',
   });

在我的load_sales_records功能中。

  1. 从数据库中查询数据。

  2. 迭代查询数据以将其转换为每个记录包含在DATA_SAMPLE变量中的数据表的列表。

问题是当用一百万条记录实现这段代码时需要很长时间,那么有什么方法可以更快地将一百万条数据从数据库传递到数据表?

标签: pythonflaskdatatablessqlalchemy

解决方案


推荐阅读