The guidelines above for read-only tables also apply to read-mostly tables with very few inserts. The only exceptions are as follows:
If there are inserts to the table, and the clustered index key does not balance new space allocations evenly across the partitions, the disks underlying some partitions may become full, and new extent allocations are made to a different physical disk. This process is called extent stealing.
In huge tables spread across many disks, a small percentage of allocations to other devices is not a problem. Detect extent stealing by using sp_helpsegment to check for devices that have no space available, and by using sp_helpartition to check for partitions that have disproportionate numbers of pages.
If the imbalance in partition size leads to degradation in parallel query response times or optimization, you may want to balance the distribution by using one of the methods described in Chapter 10, “Partitioning Tables and Indexes” in the Transact-SQL Users Guide.
If the table is a heap, round-robin-partitioned table, the random nature of heap table inserts should keep partitions balanced.
Take care with large bulk copy in operations. However, if the table is a semantic partitioned table, consider changing the partition condition using alter table... partition by for appropriate load balance.
You can use parallel bulk copy (parallel bcp) to send rows to the partition with the smallest number of pages to balance the data across the partitions. See Chapter 4, “Using bcp to Transfer Data to and from Adaptive Server,” in the Utility Guide.