안녕하세요, 쿼리 timeout 관련 질문 드립니다.
mysqlconnector ( 버전 : v4.0.30319) 를 사용하여 아래 코드로 데이터가 큰 테이블(약 40gb)에서 select 쿼리 실행 시 timeout 을 10초로 넣어 봤지만, 타임아웃이 적용 되지 않습니다.
public DataTable ExecuteReaderTimeOut(string strSql)
{
try
{
if (strSql.Trim() != "")
{
DataTable dt = new DataTable();
string connStr = ConnectionString;
int MySQLProcessID = -1;
using (MySqlConnection conn = new MySqlConnection(connStr))
{
conn.Open();
MySQLProcessID = conn.ServerThread;
string sql = strSql;
using (var cmd = new MySqlCommand(sql, conn))
{
cmd.CommandTimeout = 10;
using (var reader = cmd.ExecuteReader())
{
dt.Load(reader);
}
}
}
return dt;
}
else
return null;
}
catch (Exception e)
{
throw e;
}
}
sql 컨넥션에서도 아래 처럼 해봤지만 적용이 안되네요…
String connectionString = "Server=myserver; Port=3306; Database=databasename; Uid=userid; Pwd=password;Connection Timeout=10";
작성한 코드가 문제인 것인지, 아니면 mysqlconnector 가 문제인 것인지, 그것도 아니라면 db 설정? 을 확인해야하는 것인지 모르겠습니다, 알려주시면 감사하겠습니다!!