Как оптимизировать запрос к таблице записей 30 миллионов MS SQL Server? - PullRequest
0 голосов
/ 23 октября 2019

В настоящее время я работаю над проектом, в котором мы используем Microsoft SQL Server.

Для целей моего проекта нам нужно создать и управлять таблицей с почти 30 миллионами записей. Таблица состоит из примерно 50 полей.

У нас есть один первичный ключ, для которого мы создали некластеризованный индекс.

Чтобы справиться с одним из наших вариантов использования, мы должны запросить этотаблица в столбце datetime.

Например, мы хотим получить все записи, для которых эта дата больше, чем 2015-01-01, что возвращает нам 5 миллионов записей за 7'40 ''!

Все записи датированы между 2010-01-01 и сегодняшним днем.

Мы должны оптимизировать запрос, потому что 7'40 '' не подходит для наших нужд.

Я уже пытался внести некоторые изменения:

  • создать некластеризованный индекс для этого столбца даты;
  • создать разделы: я создал новое поле, которое содержит годполе даты, и я разбил таблицу на эти годы: один раздел для 2010 года, один для 2011 года, один для 2012 года, ...

Несмотря на эти корректировки, запрос к индексируемому полю даты илиЗапросы для конкретного раздела по-прежнему оченьочень долго (от 5 до 7 минут).

У вас есть идея или совет?

Я работал несколько лет назад на Oracle с миллионами записей, и я помню, что использование разделов значительноулучшил производительность, поэтому я немного разочарован этими результатами на SQL Server: (

Спасибо!

Prad

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...