Читать таблицы MSSQL в порядке дисков

Как воспользоваться преимуществами организации дискового ввода-вывода
Мне нужно сделать именно это, но на таблицах Microsoft SQL Server.
У меня есть база данных с +100 таблицами. Мне нужно прочитать каждую запись каждой таблицы.
Какие-либо предложения? Стоит ли писать код, выполняющий тесты и отладку за несколько секунд?
Было бы очень хорошо, если бы я мог сказать, где каждая таблица находится на диске.
И потому, что кто-то спросит: да, это узкое место в моей программе.

1 ответ

Этот другой ответ не имеет отношения к SQL Server. SQL Server выполняет ввод-вывод по-своему.

Некоторые указатели, хотя:

  • Убедитесь, что каждая таблица имеет кластерный индекс
  • У вас есть регулярное обслуживание индекса
  • Убедитесь, что у вас есть хорошие диски (RAID и т. Д.)
  • Используйте редакцию Enterprise для функции упреждающего чтения, если это так важно
  • Убедитесь, что у вас достаточно оперативной памяти

Что это значит?

  • Если вы хотите использовать SQL Server Express на одном диске рабочей станции, не беспокойтесь. Вы не можете оптимизировать это
  • Наличие кластеризованных индексов и обслуживание индексов гарантирует, что данные в основном непрерывны на диске (с учетом последующих изменений данных)
  • Прокси для того, сколько времени это займет, будет запускать DBCC CHECKDB для всей таблицы. Или ALTER INDEX перестроить. Оба требуют, чтобы все данные были прочитаны с диска для всех таблиц
Другие вопросы по тегам