我使用的是azure移动服务。我做了自定义API,我试图从其中的表中检索大约70 000条记录。我对API的请求返回时出现错误503(请求超时)。我试图减少多达50 000的请求数量,请求时间大约需要25秒。我没有尝试通过http协议获取我的50 000条记录。我只是想检索记录金额。
exports.register = function(app) {
app.get("/", getById);
};
function getById(request, response) {
var occupancyrecord = request.service.tables.getTable('occupancyrecord').take(50000);
occupancyrecord.read({
success: function(items){
response.send(statusCodes.OK, [items.length])
}
});
}
如何增加我想收到的记录数? 50 000不是我需要的。我想要70 000 - 10万。 如何将等待时间从25秒减少到2-5或更少? 25秒太久了。
例如,MySQL本地数据库在不到1毫秒的时间内响应50 000条记录。
这是Azure内部,DB和自定义API之间的交互......
答案 0 :(得分:1)
如果您认为数据库是瓶颈,您应该检查您正在查询的表上是否有适当的索引。缺少索引会显着增加响应时间。以下链接可以帮助您入门。
https://technet.microsoft.com/en-us/library/ms345417(v=sql.105).aspx