Ada beberapa hal yang dapat dilakukan agar performance SSIS pada saat melakukan load data ke sebuah table optimum. Berikut adalah konfigurasi yang biasanya saya gunakan:
- Menggunakan Table or view – fast load sebagai Data Access Mode
- Mencentang opsi Keep Identity agar tidak terjadi error pada table yang memiliki column dengan identity
-
Mencentang opsi Keep Null. Apabila tidak dicentang, pada saat me-load data Null SSIS akan menyimpannya sebagai nilai blank dan bukan Null
-
Tidak mencentang opsi Table Lock agar tidak terjadi proses Load data table tidak di-lock
-
Tidak mencentang opsi Check Constraint. Pengecekan constraint akan menurunkan performa karena SSIS akan melakukan pengecekan constraint untuk setiap row yang di-load
-
Apabila ukuran data yang di-insert sangat besar (contohnya pada saat initial load), sebaiknya isi Maximum insert commit size dengan nilai yang tidak terlalu besar. Secara default SSIS 2005 mengisinya dengan nilai kosong, sedangkan SSIS 2008 mengisinya dengan 2147483647. Pada saat data di-load, data disimpan terlebih dahulu di TempDB untuk kemudian di-commit setelah semua data di-load. Agar TempDB-nya tidak membengkak, harus dilakukan commit ke database tiap per beberapa row. Banyaknya row yang di-commit diatur pada opsi ini. Saya selalu mengisinya dengan 1000000.
