Самым простым и наиболее естественным способом проектирования сущности является использование одной таблицы. При этом если все экземпляры сущности хранятся в одной таблице, от вас не требуется принятия решения, где физически хранить ее строки, потому что система базы данных сделает это для вас. По этой причине вам не нужно выполнять никаких задач администрирования, связанных с хранением данных таблицы, если вы этого не хотите.
С другой стороны, одним из наиболее частых случаев плохой производительности реляционных систем баз данных является размещение данных на одном устройстве ввода/вывода. Это в особенности верно, если вы имеете одну или более очень больших таблиц с несколькими сотнями тысяч или миллионов строк. В этом случае в системах с множеством центральных процессоров разделение таблиц может привести к лучшей производительности за счет распараллеливания операций.
Используя средства разделения данных, вы можете разделять очень большие таблицы (а также индексы) на более мелкие части, которыми проще управлять. Если сделано разделение, то многие операторы могут быть выполнены параллельно, например, загрузка данных, создание резервной копии и восстановление данных, обработка запросов.
Разделение данных также увеличивает доступность всех данных таблицы. Размещая каждую часть на отдельном диске, вы все равно можете иметь доступ к отдельным данным, даже если один или более дисков недоступны. В этом случае все данные из доступных разделов могут быть использованы для операций чтения и записи. То же самое верно и для поддержки операций.
Если таблица является разделенной, оптимизатор запросов может распознать ситуацию, когда условия поиска в запросе ссылаются только на строки из некоторых разделов, и по этой причине можно ограничиться их поиском только в этих разделах. Таким образом, вы можете достичь значительного повышения производительности.