Я пытаюсь определить лучшие практики с отчетами на стороне клиента, используя Reportviewer, отображающий RDLC. При разработке отчета вы можете указать параметры для передачи отчета, который может использоваться для фильтрации записей. Однако, используя SQL Profiler, при запуске отчета кажется, что фильтр применяется после того, как записи сняты для отчета. Правильно ли я это вижу?Фильтр параметров RDLC после снятых записей
Если да, то почему это не так обескураживает? Не следует ли фильтровать данные на уровне набора данных или в какой-то момент, чтобы записи были отфильтрованы до отправки клиенту (конечно, по соображениям производительности)? Я посмотрел и искал обсуждение этих проблем через Интернет, и все, что я вижу, - это множество способов реализации параметров (т. Е. Как), но не обсуждается, когда один из способов лучше другого и почему. Это не ново, поэтому я ожидаю, что там будет больше об этом. Может ли кто-нибудь указать мне на то, что обсуждает это, если я что-то пропустил?
Не уверен, что обсуждение ваши ищут , Службы отчетов всегда применяют фильтры после получения набора данных. Это связано с тем, что один и тот же набор данных может использоваться в нескольких элементах управления с различным фильтром/сортировкой/группировкой в том же отчете. Также непростая задача - преобразовать фильтр/сортировку/группировку, указанный в (возможно, третьей части), в элементы, которые работают с поставщиком набора данных. Вы не можете просто добавить предложение WHERE в конце. Если вы хотите отфильтровать выбранный набор данных, вам нужно добавить параметры к запросу. – adrianm
Хорошо, что потенциальная производительность не очевидна, я бы ожидал, что там будет больше советов, чтобы избежать использования параметров фильтрации в самом отчете. Я пришел из мира, в котором производительность запросов обычно является частью любого обсуждения в использовании технологии отчетности. Однако во многих примерах Reportviewer я заметил, что параметры являются «типом» типа или даже не упомянуты, но реальность такова, что параметризация, как правило, является большой частью того, чтобы сделать отчетность более гибкой и мощной. Если это нужно сделать заранее, нетрудно это сказать. –