Тарас, в общем, даже без уточнения вопроса — в этом мало смысла.
Если речь о index maintenance - это слишком маленькая задача, чтобы её распараллеливать.
(возникает при обработке одной записи, выполнение задачи привязано к выполнению основной транзакции)
Если речь о ПЕРЕСТРОЕНИИ всего индекса — оно главным образом связано с чтением всех записей таблицы,
и это составляет основное время выполнения этой задачи. Читать таблицу параллельно в несколько потоков и малоцелесообразно - диск всё равно как правило один -
и чаще всего невозможно — таблица представляет из себя связанную в виде double linked list последовательность страниц, и ты просто не можешь прочитать страницу
i из таблицы, не прочитав предыдущие i-1.
Тем не менее бывают структуры таблиц, где это возможно (партицирование, особая физическая организация структуры таблицы), и тогда параллельное перестроение индексов возможно.
Например, это реализовано в Sybase ASE, Oracle, SQLServer.