秋峰
秋峰
  • 发布:2022-02-02 13:14
  • 更新:2022-02-09 19:03
  • 阅读:1210

从昨天开始云服务数据库就开始报错提示了Your current request database.aggregateDocuments is longer t

分类:uniCloud

报错的提示如下
Your current request database.aggregateDocuments is longer than 3s, it may be due to the network or your query performance
将代码迁移到uni-app 开发三四个月左右了,之前用的好好的,从昨晚开始就出现数据库超时返回,今天也是遇到这样的,希望官方能帮忙解决,现在才用了三四个月,后面数据量还会越来越大。如果一直出现这样的超时,后面真害怕使用云开发了。
当时全面迁移过来也是想着无服务,可以省事一些。但是现在数据库超时,该加的索引也加了,然后报错的提示也定位不到具体是什么表的问题。希望官方能帮忙解决,目前使用量也不是很大,我这个系统一天的访问人数是六千人。并发量最多也就一两千人。

2022-02-02 13:14 负责人:DCloud_uniCloud_WYQ 分享
已邀请:

最佳回复

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

大数据量下尽量避免复杂的聚合操作,将聚合操作替换为简单查询后问题解决

吴克

吴克

新年礼物
suprise mother fucker~~!

diaogecn

diaogecn - qq 86618115

就是数据库执行超时呀,阿里云1秒,腾讯云5秒

秋峰

秋峰 (作者) - 微信小程序开发 云开发 serverless

带条件的count
如果满足条件的数据特别多,where+count会特别慢,很有可能超时。我们建议不要在大数据量的集合内这样使用count方法。
这个有什么其他方法来替换的吗?
我这边是需要统计比如每个人的分数,查看大于自己分数的人有多少,这样才能计算这个人的名次。有什么替代方法吗?

秋峰

秋峰 (作者) - 微信小程序开发 云开发 serverless

数据库的数量一旦达到百万以上记录,就没办法使用了。加索引也没效果。

秋峰

秋峰 (作者) - 微信小程序开发 云开发 serverless

除非一开始就计划好 分表,达到多少记录,就分表,不能存在一张表里。

3***@qq.com

3***@qq.com

这个查询超时问题确实很烦人,数据量小的时候不体现出来,等数据量大的时候就出来搞事情

秋峰

秋峰 (作者) - 微信小程序开发 云开发 serverless

嗯 感谢 DCloud_UNI_WYQ 远程帮忙查看 使用了 原生的查询语句 查询速度得到提升了

该问题目前已经被锁定, 无法添加新回复