0
동일한 문장을 두 번 준비하면 SQL Server의 기능을 말해 줄 수 있습니다.sqlserver에 대해 동일한 명령문을 두 번 준비하면 sqlserver가 두 번 준비하거나 첫 번째 명령문을 사용합니까?
다시 준비하거나 첫 번째 준비에서 "편집"을 사용합니까? 내가 SQL 서버 2008, 2008 R2 및 2012
동일한 문장을 두 번 준비하면 SQL Server의 기능을 말해 줄 수 있습니다.sqlserver에 대해 동일한 명령문을 두 번 준비하면 sqlserver가 두 번 준비하거나 첫 번째 명령문을 사용합니까?
다시 준비하거나 첫 번째 준비에서 "편집"을 사용합니까? 내가 SQL 서버 2008, 2008 R2 및 2012
그것은 최초의 컴파일 된 버전을 사용을 사용하고
function prepareStoredProcedure (spName, arrParams)
{
var cmd = Server.CreateObject("ADODB.Command")
cmd.CommandType = adCmdStoredProc;
cmd.ActiveConnection = Connection;
cmd.CommandText = spName;
cmd.Prepared = true;
var params = [];
for (var i=0; i<arrParams.length; i++)
{
if (arrParams[i].Size)
params.push(cmd.CreateParameter(arrParams[i].Name, arrParams[i].Type, 1, arrParams[i].Size)); // Name, Type, Direction, Size
else
params.push(cmd.CreateParameter(arrParams[i].Name, arrParams[i].Type, 1));
cmd.Parameters.Append(params[i]);
}
return cmd;
}
:
나는 여러 번 전화를받을 수있는 다음과 같은 기능을 가지고있다.
재사용 측면에서 다른 뉘앙스가 있습니다. 예를 들어 저장 프로 시저에 따라 SQL Server에서 캐시 된 쿼리 계획을 사용할 수 있습니다. 그러나 동적 SQL, 특정 유형의 논리 또는 대규모 데이터 변경이있는 경우 DB 엔진은 쿼리 계획을 다시 작성해야합니다.
그러나 저장 프로 시저 '컴파일'은 생성시 완료됩니다. 달리 지정하지 않으면 (here 참조) 다시 컴파일되지 않습니다.