我有一个非常简单的查询,可以从数据库中获取记录:
\DB::table("table")->get();
当我尝试从数据库中获取超过±145000条记录时,我得到:
500 server error
。
类似的代码:
\DB::table("table")->take(14500)->get();
虽然有效。当我尝试获取超过15k的值时,我立即得到错误,而没有任何负载或其他信息。 我也无法从日志中获取更多信息。奇怪的是,当我将代码写入修补程序时,我可以获得所有记录。 (与雄辩的作品一样)
答案 0 :(得分:4)
如果您要检查错误日志,则很可能会看到以下内容:
export const valueSearch = (value: string, hasEmptyValue: boolean, profile: ProfileHolder, attributeId: string, objectTypeId: string, typeName: string = "ValueSearch") => {
const obj = {
"__typename": "SearchFromProfile",
"profileHolder": {
"__typename": profile.__typename,
"Id": profile.Id
},
"search": {
"__typename": "HasValue",
"objectTypeId": objectTypeId,
"attributeId": attributeId
}
};
if (!hasValue) {
obj.search.hasValue = false
}
else {
obj.search.value = value
}
}
最好chunk结果而不是一次全部加载到内存中
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 54 bytes)