У меня есть таблица DB с 25-миллиметровыми строками, ~ 3K каждый (т.е. ~ 75 ГБ), что вместе с несколькими индексами, которые я использую (дополнительные 15-20 ГБ), не будет полностью помещаться в памяти (64 ГБ на машине). Типичный запрос содержит 300 строк через индекс, при необходимости отфильтровывая их до ~ 50-300 строк с использованием других индексов, и, наконец, извлекает соответствующие строки. Время отклика варьируется от 20 мс на теплой БД до 20 с на холодном БД. У меня есть два связанных вопроса:
-
В любой момент времени я могу проверить, какая часть (%) конкретных таблиц и индексов кэшируется в памяти?
-
Каков наилучший способ разогреть кеш, прежде чем открывать БД для запросов? Например. "select *" принудительно выполняет последовательное сканирование (~ 15 минут на холодном БД), но время ответа после него все еще оставляет желать лучшего. Есть ли встроенный способ сделать это вместо запросов? A
Спасибо, не стесняйтесь также отвечать по электронной почте ([email protected]])
- Шауль