Таблица данных занимает слишком много времени, чтобы загрузить 50000 записей.предложите свое решение.
Здравствуйте Друзья,
В настоящее время я сталкиваюсь с проблемой загрузки таблицы данных.Мой запрос выполняется быстро ,но возвращает 50000 записей, и когда я отслеживаю свой код, он показывает, что заполнение таблицы данных занимает много времени.Я хочу хранить свои данные в Datatable и хочу экспортировать их в Excel, но это занимает слишком много времени. Пожалуйста, запросите, есть ли у кого - нибудь лучшее решение.
Примечание : Я беру столько данных, потому что они нужны клиенту в excel.
Спасибо,
Чинтан Рана
Что я уже пробовал:
Мой код, как показано ниже
-----------------
SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "sp_web_reports"; cmd.Parameters.AddWithValue("@mode", 50); cmd.Parameters.AddWithValue("@From_Date", Convert.ToDateTime(txt_from_date.Text)); cmd.Parameters.AddWithValue("@TO_Date", Convert.ToDateTime(txt_to_date.Text)); cmd.Parameters.AddWithValue("@GroupCode", drp_vehicle_group.SelectedValue); conn.Open(); cmd.Connection = conn; cmd.CommandTimeout = 0; SqlDataReader reader = cmd.ExecuteReader(); conn.Close(); DataTable dt = new Good_Issue_Vehicle_Report.dt_GoodIssueVehicleDataTable(); dt.Load(reader); <----- Taking too much time if (dt.Rows.Count > 0) { Export Code in Excel }
OriginalGriff
Покажите нам соответствующие фрагменты кода - мы понятия не имеем, что вы делаете, или что вы считаете "быстрым" или "медленным"
Member 13165845
Готово,пожалуйста, проверьте мой вышеприведенный вопрос еще раз.
Kornfeld Eliyahu Peter
Вы уверены, что вам нужно 50000 записей в структуре данных, которая в основном была создана для подключения к пользовательскому интерфейсу? Как именно конечный пользователь будет обрабатывать такой объем данных?
Member 13165845
Да, мне нужно столько записей, и в будущем они будут увеличиваться. Пожалуйста, покажи мне, как я справлюсь с этим. Моя главная цель - экспортировать эти данные в excel для моего клиента.
Er. Puneet Goel
пожалуйста, ответьте на вопрос "использует ли ваш sp 'sp_web_reports' динамический запрос? Просто предоставьте нам некоторую информацию."
Кроме того, пожалуйста, сообщите, сколько времени занимает SSMS?
Er. Puneet Goel
ваша СП 'sp_web_reports является использование динамических запросов? Просто предоставьте нам некоторую информацию.
Member 13165845
Нет, это простой запрос соединения двух таблиц, и он дает мне результат данных в течение 0 секунд на моем облачном сервере.Здесь 11 колонн.
Er. Puneet Goel
Затраченное загрузчиком время связано с планом выполнения запроса. Вы можете попробовать использовать опцию(перекомпилировать) или с помощью Compile. Дай ему попробовать.
Member 13165845
Можете ли вы просто поделиться со мной его примером, чтобы я проверил его и обновил вас.
Er. Puneet Goel
Просто просмотрите эту статью: это может вам помочь https://stackoverflow.com/questions/25186380/adapter-fill-takes-long
Для таких вещей мы на самом деле не можем поделиться каким-либо примером, но можем поделиться связанным контентом.
Member 13165845
Я использовал его,поставил "OPTION(RECOMPILE)" в последнем своем запросе, но та же проблема. Если есть какое-то другое решение, то поделитесь со мной.
#realJSOP
Вместо 1-голосующих честных попыток помочь, покажите нам свой сохраненный proc.