graphQLを使用して応答が遅い人はいますか?私は実際に私のコレクションからの膨大なデータを持っているgraphQL応答が遅く、重複した応答
getActiveCaseWithActiveProcess(){
console.log ("getActiveCaseWithActiveProcess");
var result = [];
var activeElements = ActiveElements.find({
type:"signal",
$or:[
{signalRef:"start-process"},
{signalRef:"start-task"},
{signalRef:"close-case"}
]
},{limit:200}).fetch();
for (var AE of activeElements){
var checkAECount = ActiveElements.find({caseId:AE['caseId']}).count();
if (checkAECount <= 3){
console.log ('caseId: ' + AE['caseId']);
var checkExistInResult = result.filter(function (obj) {
return obj.caseId === AE['caseId'];
})[0];
if (checkExistInResult == null){
result.push({
caseId: AE['caseId'],
caseStart: AE['createdDate']
});
}
}
}
console.log("loaded successfully");
return result;
}
:
これは、リゾルバでは私のコードです。約20000件のレコード。しかし、私がこれをロードすると、応答が遅すぎるし、それ自体でリロードすることができ、応答がさらに長くなります。
I20160812-04:07:25.968(0)? caseId: CASE-0000000284,
I20160812-04:07:26.890(0)? caseId: CASE-0000000285
I20160812-04:07:28.200(0)? caseId: CASE-0000000285
I20160812-04:07:28.214(0)? getActiveCaseWithActiveProcess
I20160812-04:07:28.219(0)? caseId: CASE-0000000194
I20160812-04:07:29.261(0)? caseId: CASE-0000000197
あなたがこの時間(20160812から04:07:28.214)で、上記の私の添付ファイルからの通知としてサーバが再び最初からロードするように繰り返し、応答に時間がかかるだろう理由です。
これは必ずしも起こっているわけではありません。サーバがゆっくりとロードされたときに発生します。サーバーが高速にロードされるとき。すべてがスムーズに実行されます。
私は不思議なことに、すべてのレコードをオンザフライで読み込むのではなく、これに 'connection'型を使用して' connection'のカーソルを使ってDBクエリを作成するのはなぜですか? –