Saya perlu mengimpor sekitar 500.000 catatan yang berisi data pencarian IP (baca-saja referensi) sekitar seminggu sekali (hanya tiga int / bigint cols).
Saya tidak benar-benar ingin khawatir tentang penggabungan data dengan tabel yang ada, saya lebih suka membersihkan yang lama dan mengimpor kembali.
Idealnya kueri yang melebihi data akan terus berjalan (kami tidak mendapatkan banyak dari ini dan itu dapat diterima bagi mereka untuk menjalankan sedikit lebih lambat ketika impor terjadi, tetapi perlu sampai 24/7, jadi jalankan ini " di luar jam "bukan pilihan).
Hal-hal yang Sudah Dicoba Sejauh ini
SSIS: Saya telah membuat paket SSIS yang memotong tabel dan mengimpor - dibutuhkan sekitar 30 detik untuk berjalan (terlalu lama sebenarnya).
Tabel Temp: Mengimpor ke tabel temp, memotong dan menyalin seluruh juga membutuhkan waktu sekitar 30 detik.
BCP: Impor Massal juga agak terlalu lambat (untuk beberapa alasan lebih lambat daripada SSIS (bahkan tanpa indeks untuk mempertahankan) - Saya menduga itu ada hubungannya dengan transaksi char-> int / bigint: /
Meja cermin? Jadi, saat ini, saya bertanya-tanya tentang membaca tabel melalui tampilan, mengimpor data ke tabel cermin, dan mengubah tampilan untuk menunjuk ke tabel ini ... sepertinya ini akan cepat, tetapi tampaknya kecil sedikit hacky bagiku.
Sepertinya ini adalah masalah umum, tetapi saya tidak dapat menemukan praktik yang disarankan - ide apa pun akan sangat dihargai!
Terima kasih
sumber