从数据库统计分析并将数据导入Excel速度慢

idtugv idtugv 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在统计时,需要用select count(*) 从数据库中读数据,然后写入Excel,但由于统计比较多,循环下来,就要执行上万条select count(*) 语句,使导出的速度特别慢,有没有什么方法可以提高一下导出的速度?我是这样做的,还没写完,有点乱,麻烦帮我看看,怎么提高一下速度
for (j = 0; j < answTDs.Tables[0].Rows.Count; j++)
{
excel.Cells[x + 3 + 2 * j, 2] = answTDs.Tables[0].Rows[j][0];
excel.Cells[x + 3 + 2 * j, 3] = "计数";
excel.Cells[x + 4 + 2 * j, 3] = "比例";
string dad = DateTime.Now.Date.ToShortDateString();

sqlStr = "select COUNT(*) from 提交答案表 where 项目编号='" + myDs.Tables[0].Rows[i][0] + "' and 题号=" + quesDs.Tables[0].Rows[m][1] + " and 选择信息 like '%(17(" + (j + 1) + "))%'";
sqlStr = sqlStr + " and [拨号标记]='完成'and 完成时间 between '" + DateTime.Now.Date.ToShortDateString() + " 00:00:00' and '" + DateTime.Now.Date.ToShortDateString() + " 23:59:59'";
SqlDataAdapter jsDa = new SqlDataAdapter(sqlStr, myConn);
DataSet jsDs = new DataSet();
jsDa.Fill(jsDs);
int total = Convert.ToInt32(jsDs.Tables[0].Rows[0][0]);
int z = 0;
for (z = 0; z < answDs.Tables[0].Rows.Count; z++)
{
sqlStr = "select COUNT(*) from 提交答案表 where 项目编号='" + myDs.Tables[0].Rows[i][0] + "' and 题号=" + quesDs.Tables[0].Rows[m][1] + " and 选择信息 like '%(17(" + (j + 1) + "))%'";
sqlStr = sqlStr + "and 选择项='" + (z + 1) + "' and [拨号标记]='完成'and 完成时间 between '" + DateTime.Now.Date.ToShortDateString() + " 00:00:00' and '" + DateTime.Now.Date.ToShortDateString() + " 23:59:59'";
jsDa = new SqlDataAdapter(sqlStr, myConn);
jsDs = new DataSet();
jsDa.Fill(jsDs);
excel.Cells[x + 3 + 2 * j, 4 + z] = jsDs.Tables[0].Rows[0][0];
double percent = Convert.ToDouble(jsDs.Tables[0].Rows[0][0]) * 100 / Convert.ToDouble(total);
excel.Cells[x + 4 + 2 * j, 4 + z] = percent.ToString("0.0") + "%";
}
excel.Cells[x + 3 + 2 * j, 4 + z] = total;
excel.Cells[x + 4 + 2 * j, 4 + z] = "100.0%";
}
...全文

相关推荐

java实现Excel数据导入到数据库

在Java编程环境中,将Excel数据导入到数据库以及将数据库数据导出到Excel是常见的数据处理需求。

酷玩时刻

java使用多线程导出excel

前言 在一个业务中,需要将数据库的一张日志表导出到excel中做统计分析归类,由于单表的数据量特别大,发现在最终导出excel的时候,由于数量太大,导出速度特别慢,想了一些办法,不管使用何种API,单线程始终是操作的瓶颈,因此最终考虑使用多线程进行改善 总体思路: 1、数据总量分段 2、每个线程处理不同分段的数据 3、提交线程池 下面来看具体的代码,为测试方便,这里直接使用一个测试接口进行调用, ...

小码农叔叔

python将excel数据导入数据库

Python是一种强大的编程语言,尤其在数据处理和自动化任务中表现出色。在本示例中,我们将探讨如何使用Python将Excel数据导入MySQL数据库,并通过图形用户界面(GUI)进行操作。

SEGeeK

C#winform读取Excel并导入数据库

在本文中,我们将深入探讨如何使用C# Winform应用程序来读取Excel文件并将其数据导入到数据库中。这个过程涉及到几个关键步骤,包括文件操作、数据解析以及与数据库的交互。

s-nail

vb批量将excel数据导入access以及批量将access数据库中的数据导入excel源代码

Excel数据导入Access: - **数据连接**:首先,我们需要建立Excel文件与Access数据库之间的连接。

gaowan为了梦想
评论 6
收藏 已收藏
分享
返回顶部
idtugv
C# 111,128 成员 642,536 内容