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

StackOverflow https://stackoverflow.com/questions/2500596

  •  21-09-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top