Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Najszybszy sposób przesyłania danych tabeli Excel do SQL 2008R2

Nie ma jednej najszybszej drogi, ponieważ zależy to od wielu czynników. Upewnij się, że indeksy w SQL są skonfigurowane i zoptymalizowane. Wiele indeksów zmniejszy wydajność wstawiania/aktualizowania, ponieważ każda wstawka będzie wymagała aktualizacji indeksu. Upewnij się, że nawiązujesz tylko jedno połączenie z bazą danych i nie otwieraj/zamykaj go podczas operacji. Uruchom aktualizację, gdy serwer jest pod minimalnym obciążeniem. Jedyną inną metodą, której nie próbowałeś, jest użycie obiektu ADO Command i wydanie bezpośredniej instrukcji INSERT. Używając metody „AddNew” obiektu zestawu rekordów, upewnij się, że wydałeś tylko jedno polecenie „UpdateBatch” na końcu wstawek. Krótko mówiąc, VBA może działać tylko tak szybko, jak serwer SQL akceptuje dane wejściowe.

EDYCJA:Wygląda na to, że próbowałeś wszystkiego. W programie SQL Server istnieje również tak zwany tryb odzyskiwania „Bulk-Logged”, który zmniejsza obciążenie związane z zapisywaniem tak dużej ilości danych w dzienniku transakcji. Może to być coś, czemu warto się przyjrzeć. Może to być kłopotliwe, ponieważ wymaga trochę manipulowania modelem odzyskiwania bazy danych, ale może być dla Ciebie przydatne.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyodrębnić ten konkretny podciąg w SQL Server?

  2. Jaka jest wewnętrzna reprezentacja datetime w serwerze sql?

  3. Msg 102, Poziom 15, Stan 1, Wiersz 1 Nieprawidłowa składnia w pobliżu „ ”

  4. SQL Server 2005/2008 - wiele grup plików?

  5. Utwórz funkcję partycji w SQL