준비준비된 진술을 만듭니다. 준비된 명령문은 사용될 수있는 서버 측 개체입니다. 성능을 최적화하십시오. 때준비명령문이 실행되고 지정된 진술이 구문 분석되고, 재 작성 및 계획.execute그 후에 명령은 발행되며 준비된 진술은 필요합니다 실행됩니다. 따라서 구문 분석, 재 작성 및 계획 단계 진술이 할 때마다 한 번만 수행됩니다. 실행.
준비된 진술은 매개 변수를 취할 수 있습니다 성명서가 실행될 때 진술로 대체되었습니다. 포함합니다 준비된 명령문의 매개 변수는 데이터 유형 목록을 제공합니다. 에서준비진술 및 자체적으로 준비 할 문, 매개 변수를 사용 위치$ 1, $ 2등. 명령문을 실행할 때 의 이러한 매개 변수에 대한 실제 값execute진술. 참조execute자세한 내용은 저것.
준비된 진술은 현재의 지속 시간에 대해서만 지속됩니다. 데이터베이스 세션. 세션이 종료되면 준비된 진술 잊혀지므로 다시 사용하기 전에 다시 만들어야합니다. 이것은 또한 단일 준비된 진술을 사용할 수 없음을 의미합니다. 여러 동시 데이터베이스 클라이언트에 의해; 그러나 각 고객 사용할 준비된 진술을 만들 수 있습니다. 준비된 를 사용하여 명령문을 수동으로 정리할 수 있습니다.윈 토토 : 문서 : 8.1 : 딜 로이징명령.
준비된 진술은 성능이 가장 큰 이점을 가지고 있습니다 단일 세션이 많은 수의 실행에 사용될 때 비슷한 진술. 성능 차이는 일 것입니다 진술이 계획하기가 복잡하거나 예를 들어, 쿼리에 많은 테이블에 결합 된 경우 다시 작성하십시오. 또는 여러 규칙을 적용해야합니다. 진술이 있다면 비교적 간단하게 계획하고 재 작성하지만 비교적 비쌉니다. 실행하면 준비된 진술의 성능 이점이 될 것입니다 덜 눈에 띄는.
이 특정 준비에 주어진 임의의 이름 성명. 단일 세션 내에서 독특해야하며 이후 이전에 A를 실행하거나 처리하는 데 사용됩니다 준비된 진술.
준비 된 문에 대한 매개 변수의 데이터 유형. 준비된 문의 매개 변수를 참조합니다 그 자체, 사용$ 1, $ 2등
Anyselect, 삽입, 업데이트또는삭제진술.
어떤 상황에서는 준비된 쿼리 계획이 생성됩니다. 진술은 쿼리 계획보다 열등합니다. 성명서가 정상적으로 제출되고 실행 된 경우 선택됩니다. 성명서가 계획되고 플래너가 최적의 쿼리 계획, 실제 값을 결정하려는 시도 문에 지정된 모든 매개 변수 중에서 사용할 수 없습니다.토토통계를 수집합니다 테이블의 데이터 분포에서 상수를 사용할 수 있습니다. 결과에 대한 추측을위한 진술의 가치 진술 실행. 이 데이터를 사용할 수 없으므로 계획된 계획은 매개 변수로 준비된 진술을 계획하면 선택한 계획은 할 수 있습니다 차선책이어야합니다. 쿼리 계획을 검토하려면토토준비가되었습니다 진술, 사용설명.
쿼리 계획 및 통계에 대한 자세한 내용 수집토토목적, 참조분석문서.
준비 쿼리 생성삽입statement, 다음 실행 :
Fooplan 준비 (int, 텍스트, 부, 숫자) AS foo 값에 삽입 ($ 1, $ 2, $ 3, $ 4); Fooplan (1, 'Hunter Valley', 'T', 200.00);
a 준비 쿼리 생성select진술을 수행 한 다음 실행 :
usrptplan (int, date)을 준비하십시오 선택 *에서 사용자 u, logs l where u.usrid = $ 1 및 u.usrid = l.usrid를 선택하십시오. 및 l.date = $ 2; usrrptplan (1, current_date); 실행