c# 에서 개발 중인데 로컬 환경에서 서버로 구축했을때는
빠른 응답을 하는 반면에
따로 서버로 구성하여 접속시 selct 쿼리만 날리는데도
속도가 좀 느리네요
데이터도 대용량도 아니구요
쿼리 처리 속도 올려주는 튜닝법이 있나요
c# 코드는 아래와 같습니다.
_connection.Open();
OleDbCommand command = new OleDbCommand();
OleDbTransaction transaction;
transaction = _connection.BeginTransaction();
command.Transaction = transaction;
command.CommandType = CommandType.Text;
command.Connection = _connection;
command.CommandText = "Select * From A_Table";
OleDbDataReader myRead=command.ExecuteReader();
while (myRead.Read())
{
var strArray = new String[] {컬럼들}
var lvt = new ListViewItem(strArray);
}
myRead.Close();
transaction.Commit();
간단히 데이터를 받아와 컨트룰에 입력시키는 코드인데
데이터를 받아오는게 늦어서 그런지
컨트룰 로딩도 덩달아 늦어지네요.
인줄 알았으나
몇번 테스트 결과 _connection.Open();
에서 지연이 발생하네요
원인을 모르겠습니다. 왜 컨넥션에서
지연이 발생하는지요
안녕하세요. 질문 감사드립니다.
수행 환경에 따라 SQL 수행 시간이 달라진다고 하셨는데요, 이 경우 쿼리가 실제로 수행되는 시간을 확인해 보셔야 할 것 같습니다.
만약, 로컬 환경에서 서버로 구축하셨을 때의 sql 수행 시간과 서버를 따로 구성하여 수행하였을 때의 sql 수행시간의 차이가 나지않는다면
CUBRID 자체의 쿼리 수행 속도가 아닌 프로그램 혹은 네트워크의 문제의 가능성이 있습니다.
Sql log는 $CUBRID/conf/cubrid_broker.conf에서 SQL_LOG 파라미터의 값이 ON이라고 설정되어있는 경우 남겨집니다.
파일 이름은 $CUBRID/log/broker/sql_log 디렉토리에 broker명_CAS번호.sql.log로 남겨지며, execute을 주로 보시되 추가로 elapsed time을 확인해 보시면 됩니다.
로그 분석 방법은 매뉴얼(http://www.cubrid.com/online_manual/843/admin/admin_service_broker_log.htm, SQL 로그 관리)과 튜토리얼 문서(http://www.cubrid.com/zbxe/50204, SQL LOG 분석하기)를 참고하세요.