Ho un database in SQL Azure, che non sta prendendo tra i 15 ei 30 minuti per fare un semplice:"select count (id) dalla tabella" richiede fino a 30 minuti per il calcolo in SQL Azure
select count(id) from mytable
Il database è di circa 3,3 GB e il conto ritorna circa 2.000.000, ma ho provato a livello locale e ci vogliono meno di 5 secondi!
Ho anche eseguire un:
ALTER INDEX ALL ON mytable REBUILD
Su tutte le tabelle del database.
Apprezzeremmo se qualcuno potesse indicarmi alcune cose per provare a diagnosticare/risolvere questo problema.
(Si prega di saltare l'AGGIORNAMENTO 3 di seguito poiché ora penso che questo sia il problema, ma continuo a non capirlo).
UPDATE 1: Sembra che impieghi il 99% del tempo in una scansione dell'indice cluster come mostra l'immagine qui sotto. Ho
UPDATE 2: e questo è ciò che i messaggi statistiche tornano, come quando lo faccio:
SET STATISTICS IO ON
SET STATISTICS TIME ON
select count(id) from TABLE
Statistiche:
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 317037 ms.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
(1 row(s) affected)
Table 'TABLE'. Scan count 1, logical reads 279492, physical reads 8220, read-ahead reads 256018, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
(1 row(s) affected)
SQL Server Execution Times:
CPU time = 297 ms, elapsed time = 438004 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
UPDATE 3: OK - I avere un'altra teoria ora. Il portale di Azure suggerisce ogni volta che eseguo il test selezionando semplicemente la query che sta raggiungendo il 100% della mia percentuale di DTU. Sto usando un'istanza SQL standard di Azure con livello di prestazioni S1 (20 DTU). È possibile che questa semplice query venga rallentata dal mio limite DTU?
Avete controllato per verificare che non ci sia un deadlock? – Craig
Non formalmente ma sono abbastanza sicuro che non ci sia - Ho disattivato tutti gli aggiornamenti quindi la mia query è l'unica cosa che dovrebbe colpire il DB. – chrisb
D: Quindi hai mai risolto il problema delle prestazioni di Azure? – FoggyDay