Какую причина есть для создания физической таблицы для вывода отчета?

dba.stackexchange https://dba.stackexchange.com/questions/7592

Вопрос

Я заметил, что для Crystal Reports, сделанных нашей организацией, и некоторыми из наших поставщиков программного обеспечения ERA имеют тенденцию использовать физические таблицы для наборов данных своих отчетов, а не использование представления или хранимой процедуры для сбора данных. Иногда я видел, как отчеты используют хранимые материалы, которые затем используют физический Таблицы, а не временные таблицы для хранения и манипулирования наборами данных. В этих случаях вывод отчета часто существует как таблица, подобная rpt_ap_vendors или аналогично, и это может быть или не быть лишено из данных, когда не используется.

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

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

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

Решение

(+) Причины создать физическую таблицу для хранения данных отчета:

  • Данные отчета многократно используются. Я указываю отчеты Crystal или SharePoint на таблицу, а затем не беспокойтесь о том, как часто или когда эти инструменты или мои конечные пользователи получают доступ к данным. (Ну, в некоторой степени, поскольку многократно чтение большой таблицы отчетов будет разбить мой буферный кеш.) Я также могу сохранить скользящее окно старых отчетов для неизбежных запросов в соответствии с: «Можете ли вы снова генерировать прошлогодний отчет? Я Не могу найти CSV, который я извлек в то время ».

    Это, вероятно, главная причина, по которой он настроен на ваш сайт. Crystal Reports может быть недостаточно умным, чтобы кэшировать данные отчетов в качестве пользователей на пчел через него или изменить настройки отчета. Таким образом, в худшем случае CR восстанавливает ваш отчет с каждым из этих действий-дорогостоящей и трудоемкой операции. С физической таблицей он просто переворачивает стол столько раз, сколько нуждается.

  • Установка разрешений на отчет легко. Вы хотите увидеть этот отчет? Ну, все, что вам нужно, это разрешение на чтение результатов, Не генерировать их. Анкет Итак, здесь имейте некоторые права на чтение в этой таблице в заблокированной схеме и FileGroup/TablePace.

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

(-) Что вы теряете с помощью таблицы физических отчетов:

  • Гибкость. Хотите изменить отчет? Argh, нужны некоторые изменения DDL.
  • Пространство для хранения. Вы сохраняете данные на диске, так что дух.

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

У предыдущего работодателя некоторые отчеты зайдут несколько часов. Отчеты о конец месяца и четверть были худшими (8 и 20 часов соответственно). Вычисляя результаты и сохраняя их в постоянной таблице, пользователь может посмотреть на результаты отчета в Whim, не пересчитывая числа на лету. Процесс, который рассчитывал отчеты, смог перезапустить, если он был прерван, так что это также помогло: в этой части Южной Флориды каждый день было несколько отключений электроэнергии второй длиной. В то время как у компании был генератор на месте в плохую погоду, не у всех сотрудников были недостатки.

Некоторые из «энергетических пользователей» хотели иметь возможность получить доступ к данным и сократить цифры в Excel, поэтому у них был доступ только для чтения к таблицам отчетности.

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