ORM をバイパスし、Model.query 関数を使用してクエリを実行し、PostgreSQL から「大きな」結果セットを返しています。クエリは約 200 万行を返します。postgres から直接クエリを実行すると、約 20 秒で返されます。セイルから実行すると、クエリは暗黙のうちに失敗します。返される行数に制限はありますか?
質問する
148 次
1 に答える
0
返される行数に制限はありますか?
いいえ、制限はありません。
セイルから実行すると、クエリはサイレントに失敗します
「静かに失敗する」とはどういう意味ですか? それが失敗したことをどのように知っていますか?まだ処理中の可能性があります。または、違反している接続タイムアウトがアダプターにある可能性があります。
データベースからシリアル化され、JSON に変換され、クライアントにパイプダウンされる 200 万行は、データベースで SQL を直接実行する場合とは大きく異なります。システム リソースの状況によっては、20 倍長くかかる場合があります。データをまとめて取り出すには、sails.js のページング機能を使用することを強くお勧めします。Web サーバーから 1 回の操作で 200 万行を取得することはあまり意味がありません。
于 2015-04-03T23:18:53.087 に答える