Проблема с зависанием при загрузке отчета с большими данными - PullRequest
0 голосов
/ 21 февраля 2019

У меня проблема с зависанием в других учетных записях во время отчета о загрузке, такого зависания не было, когда отчет содержит данные среднего размера, например отчет 3000 записей, загрузка занимает 10 секунд, и другие учетные записи работают одновременно без каких-либо зависаний на экране муравья, но этопроблема возникла с большими данными, такими как отчет о записи 80000, что заняло 1 минуту и ​​23 секунды, чтобы загрузить его, и в течение этого времени другие учетные записи не могут работать, потому что система работает с ними очень медленно, если они пытаются вставить какие-либо данные, это занимает много времени или открывается любой экранони занимают много времени, я проверил диспетчер задач и увидел, что память стабильна, а также процессор, память 71% и процессор не увеличился больше, чем на 75%. Я думал, что проблема может возникнуть, потому что, когда я открываю соединение с БД для отчета. БД не получает никакого другого соединения, покапервое соединение закрыто .... но пользователи могут вставлять и извлекать данные, но это занимает много времени.это мой код для получения отчета

 SqlConnection conn = new SqlConnection(DALEngine.getConnectionString());
        cmd.CommandText = "Searchstoredname";
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Connection = conn;
        SqlParameter l = new SqlParameter("@LanguageId", SqlDbType.Int); 
        cmd.CommandTimeout = 30000;
        conn.Open();
        try
        {
            using (conn)
            {
                SqlDataReader sdr = cmd.ExecuteReader();
                ToCsv(sdr, columns, filepath, Usercolumns);
            }
        }
        catch(Exception ex)
        {
            success= false;
        }
        conn.Close();
...