Существует определенное преимущество для разделения таблиц (независимо от того, находятся ли они в одной или разных файловых группах / дисках). Если столбец раздела выбран правильно, вы поймете, что ваши запросы будут попадать только в нужный раздел. Так что представьте, если у вас есть 100 миллионов записей (я разделил таблицы намного больше, чем это - около 20+ миллиардов строк), и если по большей части, более 70% вашего доступа к данным является только определенной категорией, временной шкалой или типом данные, то это помогает хранить наиболее доступные данные в отдельном разделе. Кроме того, вы можете выровнять раздел по отдельным группам файлов с различными типами дисков (SATA, Fibre Channel, SSD), чтобы наиболее часто используемые / занятые данные находились в самом быстром хранилище, а наименее / редко используемые - практически на медленных дисках.
Хотя, в отличие от Oracle, в SQL Server возможности разбиения ограничены. Вы можете выбрать только один столбец для разделения (даже в SQL 2008). Таким образом, вы должны правильно выбрать столбец, где этот столбец также является частью большинства ваших частых запросов. По большей части люди легко выбирают разделение по столбцу даты. Однако, хотя логично разделить таким образом, если ваши запросы не содержат этот столбец как часть условия, вы не получите достаточных преимуществ от разбиения (другими словами, ваш запрос затронет все разделы независимо от того).
Разделение для хранилищ данных / баз данных типа интеллектуального анализа данных намного проще, чем для OLTP, так как большинство запросов к базе данных DW ограничены периодом времени.
Вот почему в наши дни из-за объема данных, обрабатываемых базами данных, разумно проектировать приложение таким образом, чтобы когда-либо запрос ограничивался какой-то более широкой группой, такой как время, географическое положение или так, чтобы при таких столбцах выбраны для разделения вы получите максимальную выгоду.