title: SQL Server: Bulk Insert Data Loading to Partitioned Table with Multiple File Groups
body: <p>I am trying to load a series of CSV files, ranging from 100MB to 20GB in size (total of ~3TB). So, I need every performance enhancement that I can. I am aiming to use filegrouping, and partitioning as a mean. I performed a series of tests to see the optimum approach. </p>
  
  <p>First, I tried various filegroup combination; the best I get is when I am loading into a table that is on 1 filegroup; with multiple files assigned to it, and they are all siting on one disc. This combination outperformed to the case that I have multiple filegroups.</p>
  
  <p>Next step was naturally to have partitioning. ODDLY, all the partitioning combination that I examined have lower performance. I tried defining various partition function/schemes and various filegroup combinations. But all showed a lower loading speed.</p>
  
  <p>I am wondering what I am missing here!? </p>
  
  <p>So far, I managed to load (using bulk insert) a 1GB csv file in 3 minutes. Any idea is much appreciated.</p>