Производительность больших таблиц SQL Server 2008

У меня есть эта относительно большая таблица в отдельной файловой группе (2 ГБ, ну, она не НАСТОЛЬКО большая, но достаточно большая, я думаю, чтобы начать думать о производительности, поскольку это сверхмощная таблица).

Это единственная таблица в данной файловой группе.

Сейчас файловая группа содержит только один файл данных.

Предполагая, что таблица хорошо проиндексирована и фрагментация индекса почти равна нулю, повысится ли производительность (для операторов select и insert), если я разделю файловую группу на два файла данных, НО если эти два файла данных будут находиться на одном физическом диске (поскольку я не у меня нет массива дисков в моем распоряжении) ?

Или разделение на несколько файлов является улучшением только тогда, когда вы можете разделить эти файлы на отдельные физические диски?

Спасибо за любые ответы.

ps: должен добавить, что мы используем стандартную версию, поэтому разделение таблиц запрещено.

Матье


person tjeuten    schedule 19.07.2010    source источник
comment
Голосую за переход на serverfault, так как там он, вероятно, получит лучший ответ.   -  person Eric Petroelje    schedule 19.07.2010


Ответы (2)


Вам действительно нужно иметь отдельные шпиндели/LUN, если вы собираетесь разделить индекс/данные.

Чтобы разрушить миф о «один поток на файл», прочтите это у Пола Рэндалла.

person gbn    schedule 19.07.2010

Для ситуации, которую вы описали, я сомневаюсь, что вы сможете точно измерить разницу, поскольку она будет незначительной. Вам понадобится база данных высокого класса с определенными тяжелыми рабочими нагрузками, чтобы развеять мысли о том, что вы страдаете от конкуренции SGAM / GAM. GBN прав, указывая, что вам нужно это на отдельных шпинделях, чтобы увидеть подходящую разницу.

person Andrew    schedule 19.07.2010