Как я могу ускорить запросы против таблиц, к которым я не могу добавить индексы?

Я получаю доступ к нескольким таблицам удаленно по Ссылке DB. Они очень нормализованы, и данные в каждом эффективный датированы. Из миллионов записей в каждой таблице только подмножество ~50k является текущими записями.

Таблицами внутренне управляет коммерческий продукт, который бросит огромное соответствие, если я добавлю индексы или сделаю изменения к его таблицам всегда.

Каковы мои опции для ускорения доступа к этим таблицам?

6
задан aw crud 23 March 2010 в 14:18
поделиться

6 ответов

Можно попробовать создать материализованное представление некоторого подмножества таблиц по ссылке DB и затем сделать запрос из них.

9
ответ дан 8 December 2019 в 04:52
поделиться

Как насчет создания материализованного/индексированного представления? Это может немного помочь.

1
ответ дан 8 December 2019 в 04:52
поделиться

Думаю, вы застряли здесь между камнем и наковальней, но в прошлом у меня работало следующее:

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

Дополнительные накладные расходы на копирование из одной базы данных в вашу собственную могут затмить реальную выгоду, но это стоит того.

6
ответ дан 8 December 2019 в 04:52
поделиться

Вам нужно будет посмотреть на планы. Возможно, вы сможете изменить порядок соединения, добавить критерии или предоставить подсказки, чтобы сделать его быстрее, но без плана объяснения вы не знаете, почему он медленный, поэтому вы даже не знаете, сможете ли вы это сделать. Быстрее.

4
ответ дан 8 December 2019 в 04:52
поделиться

Не могли бы вы делать ежедневный дамп нужных вам записей в свою базу данных / таблицы?

2
ответ дан 8 December 2019 в 04:52
поделиться

Данные архива, которые уже устарели. (Или, если это неприемлемо, данные, превышающие некоторый порог устаревания, соответствующий вашим требованиям.)

2
ответ дан 8 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: