2011-12-21 27 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.
Problemi correlati