如果我在从 azure 服务同步(增量同步)时增加页面大小,有什么缺点
What are the draw backs If I will increase the pagesize while syncing(incremental sync) from azure service
从 Azure 同步时,我是这样做的
MSPullSettings *pullSettings = [[MSPullSettings alloc] initWithPageSize:500];
[self.table pullWithQuery:query queryId:[super getQueryIdForQuery:@"allCustomers"] settings:pullSettings
completion:^(NSError * _Nullable error) {
//Let the caller know that we have finished
if (completion != nil) {
dispatch_async(dispatch_get_main_queue(), ^{
completion(error);
});
}
}];
参考this。
我知道 Azure 的默认页面大小是 50。
我观察到,如果我为 1000 条记录提供更多的页面大小 (1000),那么它花费的时间比 1000 条记录的页面大小 (50) 少。
假设我不知道我的服务器上有多少条记录,所以我提供最大页面大小以获得更好的性能。
但我的问题是,
增加页面大小有什么缺点吗? (即 50 条记录的页面大小为 1000)
或
有没有办法在给出页面大小之前知道服务器中有多少条记录?
PageSize 是 属性 以在 1 个请求中从服务器获取同步 table 的记录数。如果您响应的数据大小不是很大,将 PageSize 增加到 1000 没有任何缺点。一件重要的事情是,如果您将客户端页面大小增加到 1000,您也应该将服务器上的页面大小增加到 1000。还要确保服务器页面大小应始终大于客户端页面大小。
从 Azure 同步时,我是这样做的
MSPullSettings *pullSettings = [[MSPullSettings alloc] initWithPageSize:500];
[self.table pullWithQuery:query queryId:[super getQueryIdForQuery:@"allCustomers"] settings:pullSettings
completion:^(NSError * _Nullable error) {
//Let the caller know that we have finished
if (completion != nil) {
dispatch_async(dispatch_get_main_queue(), ^{
completion(error);
});
}
}];
参考this。
我知道 Azure 的默认页面大小是 50。 我观察到,如果我为 1000 条记录提供更多的页面大小 (1000),那么它花费的时间比 1000 条记录的页面大小 (50) 少。
假设我不知道我的服务器上有多少条记录,所以我提供最大页面大小以获得更好的性能。
但我的问题是, 增加页面大小有什么缺点吗? (即 50 条记录的页面大小为 1000)
或
有没有办法在给出页面大小之前知道服务器中有多少条记录?
PageSize 是 属性 以在 1 个请求中从服务器获取同步 table 的记录数。如果您响应的数据大小不是很大,将 PageSize 增加到 1000 没有任何缺点。一件重要的事情是,如果您将客户端页面大小增加到 1000,您也应该将服务器上的页面大小增加到 1000。还要确保服务器页面大小应始终大于客户端页面大小。