Sur*_*der 8 azure azure-storage azure-table-storage
我们有几个表位于Azure存储表(非Azure SQL表)中,我找不到一种简单的方法来计算表中的行数.
我试过调用.CreateQuery.Count(),但这只是返回:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code>InvalidInput</code>
<message xml:lang="en-US">One of the request inputs is not valid.
RequestId:c74f8b4c-4277-42f6-bb5d-0db187358e43
Time:2011-12-21T10:34:12.5379616Z</message>
</error>
Run Code Online (Sandbox Code Playgroud)
这是因为Table Service没有Count操作:http: //msdn.microsoft.com/en-us/library/windowsazure/dd179423.aspx 你可能能够(但我不是100%肯定)得到了如果指定至少一个分区键或更多标准,则为记录计数.
小智 8
如果您真的想要计算所有行,您需要进行分页请求.每个页面最多返回1000行.加载所有内存后,你可以做一个简单的Linq Count().
您只能计算页面和最后一页的行号.这将为您节省大量内存.
但请注意,返回最大行数的每个页面请求等于一个事务.性能方面,你可以将整个表加载到内存中,这可能是"呃哦".
链接到示例代码:http://scottdensmore.typepad.com/code/Continuation.zip
| 归档时间: |
|
| 查看次数: |
15230 次 |
| 最近记录: |