多条SQL查询程序运行时间过长
描述: 程序需要执行几百条条件不同的sql查询,然后将查询的值赋值给一个excel报表。现在用的方法是每条查询用ExecuteScalar()方法取得第一行第一列的值,但是所有查询都调用这个方法需要630... 程序需要执行几百条条件不同的sql查询,然后将查询的值赋值给一个excel报表。现在用的方法是每条查询用ExecuteScalar()方法取得第一行第一列的值,但是所有查询都调用这个方法需要6300ms。
有没有什么比较快的办法能取得这些值?
忘了说,用的C# 展开
执行时间最长的20条SQL语句(按时间降序排列),可保存为脚本方便调用:
SELECT rows_read / (num_executions + 1) as avg_rows_read,
rows_written / (num_executions + 1) as avg_rows_written,
stmt_sorts / (num_executions + 1) as avg_sorts,
total_exec_time / (num_executions + 1) as avg_exec_time,
substr(stmt_text,1,1000) as SQL_Stmt
FROM SYSIBMADM.SNAPDYN_SQL ORDER BY avg_exec_time desc fetch first 20 rows only;
祝你学习愉快!