【问题标题】:Sails fails to return or error on large result setSails 在大型结果集上无法返回或出错
【发布时间】:2015-04-03 11:41:35
【问题描述】:

我绕过 ORM 并使用 Model.query 函数从 PostgreSQL 查询并返回一个“大”结果集。该查询返回大约 200 万行。当直接从 postgres 运行查询时,它会在 20 秒左右返回。从sails 执行时,查询会静默失败。可以返回的行数有限制吗?

【问题讨论】:

    标签: node.js sails.js waterline sails-postgresql


    【解决方案1】:

    可以返回的行数有限制吗?

    不,没有限制。

    从sails 执行时,查询会静默失败

    “默默地失败”是什么意思?你怎么知道它失败了?它可能仍在处理中;或者适配器可能存在您违反的连接超时。

    200 万行从数据库中序列化出来,转换为 JSON,然后通过管道传送到客户端,这与直接在数据库上运行 SQL 相比非常不同。这可能需要 20 倍的时间,具体取决于您的系统资源情况。我强烈建议使用sails.js 的分页功能将数据分块提取出来。在一次操作中从 Web 服务器中提取 200 万行并没有多大意义。

    【讨论】:

    • 静默失败,因为我在控制台中看不到超时或任何其他错误。
    • 谢谢,我知道无声无息的失败意味着。你等了多久? 200 万行是很多行。您错过了重点,可能需要重新阅读我的答案。
    猜你喜欢
    • 2017-01-12
    • 2010-11-15
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    相关资源
    最近更新 更多