Node.js sequelize vs sql存储过程。我应该在我的案例中使用什么?

Node.js sequelize vs sql存储过程。我应该在我的案例中使用什么?,node.js,sequelize.js,Node.js,Sequelize.js,我正在使用sequelize计算仪表盘编号。目前有5000多个用户,而且这个数字还将继续增长。对于每个用户,我必须处理大量数据,包括大量条件/规则和多个连接 对于大约250名测试用户,sequelize需要25秒以上的时间才能返回结果。我应该切换到存储过程以提高性能,还是有办法优化sequelize查询?要回答这个问题,我们需要查看您的一些模型及其关联。 但是,您必须首先尝试优化您的模型,因为sequelize不创建索引,但您可以创建自己的“外键”,例如: MyModel.hasMany(mod

我正在使用sequelize计算仪表盘编号。目前有5000多个用户,而且这个数字还将继续增长。对于每个用户,我必须处理大量数据,包括大量条件/规则和多个连接


对于大约250名测试用户,sequelize需要25秒以上的时间才能返回结果。我应该切换到存储过程以提高性能,还是有办法优化sequelize查询?

要回答这个问题,我们需要查看您的一些模型及其关联。 但是,您必须首先尝试优化您的模型,因为sequelize不创建索引,但您可以创建自己的“外键”,例如:

MyModel.hasMany(models.MyModel2, {foreignKeyConstraint: true});
MyModel.hasMany(models.MyModelX, {foreignKeyConstraint: true});
此外,sequelize在分离操作或数字操作(如“AVG”)中的速度会减慢,如果您不将它们包括在最大查询中,它是更好的选择

就我个人而言(可能不是更好的方法),对于大量记录,我更喜欢
存储过程
,并生成自己的索引,以更好的性能执行最大的查询

另外,正如您所知node.js是单线程的,那么您必须优化服务器端的操作

总之,如果您在查询中使用隔离操作或数学运算,我的建议是“使用存储过程”