Альтернативы Datatable - PullRequest
       13

Альтернативы Datatable

1 голос
/ 05 апреля 2010

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

Я хочу получить всю запись без параметров к объекту и выполнить запросы (могут быть с linq) для этого объекта.Таким образом, база данных не будет исчерпана.

Какие объекты можно использовать вместо данных?

Ответы [ 2 ]

11 голосов
/ 05 апреля 2010

Это одна из моих любимых мозолей - люди, которые возвращают все данные из базы данных.

В этом нет абсолютно никакой необходимости, если вы не ведете отчетность.

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

Если вы НЕ ведете отчетность, тогда начните ограничивать объем данных, которые можно запрашивать одновременно. Пользователям не нужно видеть огромное количество данных одновременно. Они должны видеть дискретные объемы данных, представленные в управляемой и последовательной форме.

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

0 голосов
/ 03 ноября 2013

Никогда не выполняйте это (кроме кеша) !!!

Вы пытаетесь реализовать механизмы БД, например

  • постоянное хранилище
  • поиск по индексу и стратегия запроса
  • 1010 * Репликация *
  • и т. Д.

Потратьте свое время на оптимизацию БД (оптимальная схема, индексы, запрос, разбиение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...