Sails.js Sails系列添加/删除速度非常慢
我正在使用Sails框架中的一个小小的cardgame后端-只是为了好玩,现在开始使用框架 在模型上使用collection时,我遇到了一个问题——不知道我是否使用了错误的集合——但它确实很慢——我不知道为什么 简单的例子:Sails.js Sails系列添加/删除速度非常慢,sails.js,Sails.js,我正在使用Sails框架中的一个小小的cardgame后端-只是为了好玩,现在开始使用框架 在模型上使用collection时,我遇到了一个问题——不知道我是否使用了错误的集合——但它确实很慢——我不知道为什么 简单的例子: // models / Deck.js module.exports = { attributes: { game : { model : 'game' }, cards : { collection : 'card'
// models / Deck.js
module.exports = {
attributes: {
game : {
model : 'game'
},
cards : {
collection : 'card'
},
},
newDeck : function(game_id, callback) {
// 52 Cards
Card.find({}).exec(function(err, results) {
Deck.create({game : game.id}).exec(function(err, deck) {
while(cards.length) {
deck.cards.add(cards.pop());
}
deck.save(function(err, deck) {
if(err) callback(err);
callback(null, deck);
});
});
}
}
当我调用newDeck函数时,大约需要5到10秒。在.save()函数中,问题是,如果我将其注释掉,它将在1秒内完成
我举另一个例子,我只删除一条记录,这也需要5-6秒
deck.cards.remove(card.id)
deck.save(function(err, deck){
})
我做错什么了吗。??
在另一个示例中,我尝试创建52条记录,这需要不到1秒的时间。-无法找出我做错了什么。文档中说,如果您在模型上有任何关联,则在保存时将填充这些关联 要防止出现这种情况,请使用:
.save({ populate: false }, function() {})
我尝试清除数据库,现在保存功能只需约1秒。但在填充了一些甲板(大约20个甲板)后,它又慢了下来!所以,我的测试告诉我,更多的卡组会减慢整个系统的速度-这是有线的吗?嘿,你在使用哪个DB提供商?如果您使用的是“sails disk”,那么使用合适的数据库(如mysql)是否更好,可能值得一试,但不确定您有多少数据。有关详细信息,请参见config/connections.js。我只是在开发-因此我使用了Sails附带的默认设置-但不理解为什么添加一些关系会如此缓慢-这没有意义-我认为该表中大约有500行,大约需要5秒。插入52个新行。。