我有一个查询从mysql数据库中检索大约10000条记录,这些记录我正在读取.csv文件。
现在在70条记录之后,读者会挂起并且不再做任何事情了。
在此之前从未在我的其他代码中使用过这个(可能是我要检索的大数据)。
我的代码是这样的:
using (var reader = db.Retrieve(sql))
{
while (reader.Read()) {
//write results to my file
}
}
代码挂起'while(reader.Read())'
我读了feed,但没有给出真正的答案。或其他解决方案?
答案 0 :(得分:1)
您是否尝试过在另一个帖子中提出的任何建议?
尝试查看在SQL Management studio中生成并运行它的SQL,看看它是否运行缓慢。
尝试简化您的查询,看看是否会导致问题消失,然后尝试添加一些,然后看看它在工作和不工作之间究竟有什么区别。
答案 1 :(得分:0)
您是否尝试过此操作而不将其写入文件?
您是否尝试在没有DataReader的情况下运行此操作以确保查询正常?
如果是这样,可能值得尝试一个更简单的查询,以便它只返回一个字段,例如,如果表定义为具有单列主键,则返回主键。
答案 2 :(得分:0)
QueryBrowser中返回的行的模式是什么? mySQL是否以类似的方式对返回的结果进行批处理?
答案 3 :(得分:0)
它会永久挂起还是最终崩溃?如果崩溃将它放在try catch中,看看异常是什么。将存储过程也放在try catch中
答案 4 :(得分:0)
好的,我解决了悬挂在我的情况。 我的查询是复杂的,一次执行它。所以我简化了我的查询,现在我的文件写在结果中。