Ho appena creato un nuovo database SQL Server in Azure e l'ho aperto in Visual Studio 2015 utilizzando il collegamento nel portale di Azure. Ho dovuto aggiungere il mio IP al firewall, ma altrimenti il processo è andato liscio.Perché SQL Server Object Explorer in Visual Studio è lento?
Tuttavia, quando sto cercando di interagire con il server di database tramite l'Esplora oggetti di SQL Server è dolorosamente lento. Espandere una qualsiasi delle cartelle nel mio database (ad esempio, la cartella Tables
) richiede da 10 a 30 secondi. Il database è nuovo di zecca, quindi l'unica cosa che ha è quella che crea Azure quando crea un'istanza di un nuovo DB.
Questo è il secondo database di Azure che ho creato e ho provato a visualizzare in Visual Studio e hanno entrambi lo stesso problema. Con il primo ho pensato che forse ho fatto qualcosa di sbagliato durante l'installazione, ma questa volta mi sono assicurato di fare tutto dal libro.
L'esecuzione di query effettive sul DB da Visual Studio (fare clic con il pulsante destro del DB, New Query ...
, select * from INFORMATION_SCHEMA.TABLES;
) è molto veloce, quindi non sembra essere un problema con la mia connessione ad Azure.
Perché è così dolorosamente lento? Cosa posso fare per renderlo più veloce?
Sto utilizzando Visual Studio 2015 Update 1 (14.0.24720.00
) su Windows 10 (completamente aggiornato) e durante la creazione del database ho selezionato la casella per utilizzare la versione più recente.
puramente speculativo, ma l'elenco delle proprietà che ottiene inverosimile per l'elenco di tabella è più che solo i nomi delle tabelle. Cioè, probabilmente tira tutte le colonne e i loro tipi di dati, tutti gli indici con le loro definizioni, i vincoli, ecc. Se vuoi vedere tutto ciò che accade, connettiti a un'istanza su cui puoi eseguire una traccia e tracciarla . Ora immagina tutto il traffico che attraversa internet. TL; DR - L'uso di una GUI su Internet è lento. –
L'esploratore in Visual Studio non sembra afferrare tutte le informazioni. Se espongo la cartella 'Tabelle', ad esempio, devo espandere ciascuna tabella separatamente. Una volta espanso, devo anche espandere la sottocartella 'columns'. Ciò implica che tutti i dati della tabella non vengono trasmessi. Inoltre, con un database nuovo di zecca, l'intero database potrebbe essere trasferito sulla mia macchina locale in un secondo o due (internet a 100Mit). Ri: test localmente, sto usando Azure quindi non devo imparare come eseguire MS SQL Server localmente. ;) –
La successiva espansione delle colonne (ad esempio) richiede molto tempo o è veloce? Inoltre, anche se può essere una piccola quantità di dati in aggregato, se si tratta di un protocollo di chat, sta facendo molti round trip. –