Поскольку это строго теоретический вопрос, вы получите строго теоретический ответ.Разделение приводит к тому, что таблица разбивается на более мелкие таблицы с одинаковой структурой.Это заставляет ваши SELECT
запросы выполняться в разных таблицах (фактически SELECT * FROM table_part1 UNION ALL table_part2
против SELECT * FROM table
).
Общее время будет одинаковым, поскольку вы читаете одинаковые объемы данных.Вы можете поместить table_part1
и table_part2
на разные физические диски, что, вероятно, ускорит чтение, поскольку у вас будет меньше времени ожидания ввода-вывода.Но в целом для таблиц, разделенных в пределах одного табличного пространства, вы увидите сопоставимое время для обоих запросов (разделенных и неразделенных).
Что касается ЦП, мы можем предположить, что существует некоторая оптимизация, которая облегчает работу с меньшими таблицами,Возможно, что секционированные таблицы просто лучше помещаются в памяти (включая кэш-память ЦП).В этом случае возможно, что результаты будут зависеть от размера исходной и секционированной таблиц - для сверхбольших таблиц с обеих сторон вы можете в любом случае получить одинаковую нагрузку на процессор.