2011-12-21 3 views
8

Abbiamo alcune tabelle che si trovano nelle tabelle di archiviazione di Azure (NON tabelle SQL di Azure) e non riesco a trovare un modo semplice per darmi un conteggio del numero di righe in una tabella.Tabelle di Windows Azure - Conteggio righe?

Ho provato a chiamare .CreateQuery.Count(), ma che restituisce semplicemente:

<?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> 

risposta

8

Se si desidera veramente contare tutte le righe è necessario effettuare richieste di paging. Ogni pagina restituisce un massimo di 1000 righe. Dopo aver caricato tutto in memoria, puoi eseguire un semplice Linq Count().

È possibile contare solo le pagine e il numero di riga dell'ultima pagina. Questo ti farà risparmiare molta memoria.

Ma attenzione, ogni richiesta di pagina con il numero massimo di righe restituite equivale a una transazione. Per quanto riguarda le prestazioni, caricherete effettivamente tutta la tabella nella memoria che può essere "uh-oh".

Link Esempio di codice: http://scottdensmore.typepad.com/code/Continuation.zip

0

C'è uno strumento che può ottenere dimensioni da tavolo o contare le entità per voi. Azure Storage Manager

  1. Selezionare una tabella di archiviazione nel pannello struttura a sinistra
  2. Fare clic sul pulsante 'Proprietà'
  3. Fare clic sul pulsante 'Calc' sulle proprietà tabella di dialogo
  4. attendere qualche istante, il tasto 'Calc' fino diventa nuovamente disponibile.