1
오라클에 MESSAGE라는 테이블이 있고 TERMINALID (VARCHAR2 8 NOT NULL) 열이 있습니다. 이 열에 대한 색인이 있습니다. 이 테이블에는 약 300,000,000 개의 레코드가 있습니다.Dapper, Oracle 및 명령 매개 변수
이제 이 미세 (0.0 초) 작동합니다
using (var con = new OracleConnection(connectionString2))
{
try
{
con.Open();
var parameters = new DynamicParameters();
parameters.Add("PTerminalId", value: "04447777", dbType: System.Data.DbType.AnsiString);
Console.WriteLine("ora - messages #{0}", con.Query<decimal>("SELECT COUNT(*) FROM MESSAGE WHERE TERMINALID=:PTerminalId", param: parameters).FirstOrDefault());
}
finally { con.Close(); }
}
그리고 를이 (시간 초과) 실패 : 그렇게 이유
using (var con = new OracleConnection(Properties.Settings.Default.GSMConnectionString2))
{
try
{
con.Open();
Console.WriteLine("ora - messages #{0}", con.Query<decimal>("SELECT COUNT(*) FROM GSM.MESSAGE WHERE TERMINALID=:PTerminalId", param: new { PTerminalId = "04447777" }).FirstOrDefault());
}
finally { con.Close(); }
}
?
첫 번째 코드는 0.0 초 후에 실행됩니다. 두 번째 코드가 시간 초과됩니다. –
두 번째 쿼리에서 매개 변수의 데이터 형식을 지정하는 방법이 있습니까? –
아니오; 나는 그것을 좋아하지 않는다. –