Я не думаю, что вы получите что-то от разбиения таблиц - единственное улучшение, которое вы получили бы, это уменьшение количества операций чтения с диска из меньших (более коротких) деревьев индексов (каждое чтение будет достигать каждого уровня индекса по крайней мере, один раз, поэтому, чем меньше уровней, тем быстрее будет чтение.) Однако у меня есть таблица с разделом строк 4M +, проиндексированным на 4 столбца, с чистой длиной 10 байт. Он вписывается в три уровня индекса, при этом самый верхний уровень заполнен на 42,6%. Предполагая, что у вас было что-то похожее, кажется разумным, что разбиение может удалить только один уровень из дерева, и я сомневаюсь, что это большая часть улучшения.
Некоторые странные идеи:
Рейд 5 (и 50) может быть медленнее при записи из-за вычисления четности. Не проблема (или мне так сказали), если кеш дискового ввода-вывода достаточно велик для обработки рабочей нагрузки, но если он заполнен, вы можете посмотреть на raid 10.
Разделите таблицу по нескольким дисковым массивам. Возьмите два (или более) RAID-массива, распределите таблицу по томам [файлы / группы файлов, с разделением таблицы или с разделенными представлениями или без нее], и вы получите удвоенную скорость ввода-вывода на диск, в зависимости от того, где находятся данные относительно запросов, извлекающих его. (Если все в массиве № 1 и массиве № 2 простаивает, вы ничего не получили.)
В худшем случае, вероятно, есть передовые или передовые технологии, которые сорвут ваши носки. Если это важно для вашего бизнеса и у вас есть бюджет, возможно, стоит провести серьезное исследование.