Высокие записи, Случайные чтения (оба должны быть быстрыми), какие-нибудь рецепты? - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть mem сервер 16 ГБ, один экземпляр SQL, с максимальным mem (буферным пулом) ограниченным 10 ГБ.Приложение .net выполняет большой объем операций записи, которые должны быть быстрыми (и они есть).Записи идут в несколько таблиц, которые разбиты на разделы и быстро растут.Приложение предоставляет пользовательский интерфейс, где пользователи могут видеть данные, но это случайно.Показания должны быть разумно предоставлены <2 секунд.Моя проблема в том, что я чувствую, что исчерпал тонкую настройку чтения (сейчас время ~ 5 секунд, но это медленно).Я также заметил, что буферный пул в основном используется большими объемами данных этих двух таблиц, и, возможно, именно поэтому некоторые операции чтения, которые требуют данных из других таблиц, выполняются медленно, поскольку SQL должен идти на диск? </p>

Есть ли шаблон дизайна вокруг этого вида нагрузки?записи большого объема в большие таблицы (миллионы строк) и быстрое чтение из этих таблиц и других таблиц с малым объемом?

Я не нашел способа в SQL-сервере контролировать пул буферов, выделяя, скажем, только 40%данные из больших таблиц, оставляя 60% для других данных, чтобы поддерживать высокий коэффициент попадания и улучшить чтение.

Мысли?

1 Ответ

0 голосов
/ 09 января 2019

В таких ситуациях следует применять разбиение таблиц. Разделение, отображаемое в разных файловых группах, может минимизировать дисковый ввод-вывод, если вы не читаете данные, которые в данный момент записываются на диск.

...