Muszę zaimportować około 500 000 rekordów zawierających dane wyszukiwania IP (odwołanie tylko do odczytu) raz w tygodniu (tylko trzy kolumny int / bigint).
Nie chcę się martwić połączeniem danych z istniejącą tabelą, wolę wyczyścić stare i ponownie zaimportować.
Idealnie byłoby, gdyby zapytania dotyczące danych byłyby kontynuowane (nie otrzymujemy ich zbyt wiele i jest dopuszczalne, aby działały nieco wolniej podczas importowania, ale muszą być aktywne 24/7, więc uruchom to ” poza godzinami ”nie jest opcją).
Rzeczy sprawdzone do tej pory
SSIS: Utworzyłem pakiet SSIS, który obcina tabelę i importuje - uruchomienie zajmuje około 30 sekund (naprawdę zbyt długo).
Tabela temp. Importowanie do tabeli tymczasowej, obcinanie i kopiowanie zajmuje również około 30 sekund.
BCP: Import zbiorczy również jest zbyt wolny (z jakiegoś powodu jest wolniejszy niż SSIS (nawet bez indeksów do utrzymania) - Zgaduję, że ma to związek z transakcjami char-> int / bigint: /
Stół lustrzany? W tej chwili zastanawiam się nad odczytaniem tabeli przez widok, zaimportowaniem danych do tabeli lustrzanej i zmianą widoku w celu wskazania tej tabeli ... wygląda na to, że będzie to szybkie, ale wydaje się małe trochę zuchwały dla mnie.
Wydaje się, że powinien to być powszechny problem, ale nie mogę znaleźć zalecanych praktyk - wszelkie pomysły byłyby najbardziej docenione!
Dzięki
źródło