SPI_prepare을 생성하고 반환합니다.
지정된 명령에 대해 명령문을 준비했지만 실행하지 않습니다.
명령. 준비된 문은 나중에 실행될 수 있습니다.
반복적으로 사용SPI_execute_plan.
동일하거나 유사한 명령을 반복적으로 실행하려는 경우,
일반적으로 구문 분석을 한 번만 수행하는 것이 유리합니다.
또한 실행 계획을 재사용하는 것이 유리할 수 있습니다.
명령을 위해.SPI_prepare개종하다
명령 문자열을 캡슐화하는 준비된 명령문으로 변환
구문분석 결과입니다. 준비된 진술은 또한 다음을 제공합니다.
실행 계획을 생성하는 것으로 확인된 경우 실행 계획을 캐싱하기 위한 장소
각 실행에 대한 맞춤 계획은 도움이 되지 않습니다.
준비된 명령은 매개변수를 작성하여 일반화할 수 있습니다.
($1, $2등)
일반 명령에서 상수가 될 위치입니다. 실제
매개변수 값은 다음과 같은 경우에 지정됩니다.SPI_execute_plan호출됩니다. 이를 통해
보다 다양한 상황에서 사용할 수 있도록 준비된 명령
매개변수 없이도 가능합니다.
다음에 의해 반환된 명령문SPI_prepare현재에서만 사용할 수 있습니다.
프로시저 호출, 이후SPI_finish이러한 메모리에 할당된 메모리를 해제합니다.
성명. 그러나 명령문은 다음을 사용하여 더 오랫동안 저장할 수 있습니다.
기능SPI_keepplan또는SPI_saveplan.
SPI_preparenull이 아닌 값을 반환합니다.
에 대한 포인터SPIP플랜12808_12883NULL반환될 것이며SPI_result동일한 오류 중 하나로 설정됩니다
에서 사용하는 코드SPI_execute, 제외
으로 설정되어 있습니다.SPI_ERROR_ARGUMENTif명령isNULL,
아니면 만약나그스0보다 작거나 다음과 같은 경우나그스0보다 크고argtypesisNULL.
매개변수가 정의되지 않은 경우 다음 위치에 일반 계획이 생성됩니다.
첫 번째 사용SPI_execute_plan,
모든 후속 실행에도 사용됩니다. 만약 있다면
매개변수, 처음 몇 가지 용도SPI_execute_plan사용자 정의 계획을 생성합니다.
제공된 매개변수 값에 따라 다릅니다. 충분히 사용한 후
동일한 준비된 진술,SPI_execute_plan일반적인 계획을 세우고
그것이 맞춤형 계획보다 너무 비싸지 않다면
매번 다시 계획하는 대신 일반 계획을 사용하기 시작합니다.
이 기본 동작이 적합하지 않은 경우 다음을 전달하여 변경할 수 있습니다.CURSOR_OPT_GENERIC_PLAN또는CURSOR_OPT_CUSTOM_PLAN다음에 플래그 지정SPI_prepare_cursor, 일반 또는
각각 맞춤형 계획입니다.
비록 준비된 진술의 주요 요점은 피하는 것입니다. 반복적인 구문 분석 및 명령문 계획토토 사이트 순위재분석을 강제하고 데이터베이스를 사용할 때마다 명령문을 다시 계획합니다. 명령문에 사용된 객체는 정의(DDL)를 거쳤습니다. 준비된 명령문을 이전에 사용한 이후 변경되었습니다. 또한 만약에 값검색_경로한 용도에서 다음 용도로 변경되면 명령문이 다시 구문 분석됩니다. 새로운 것을 사용하여검색_경로. (이 후자는 행동은 현재 새로운 것입니다.토토 사이트 순위9.3.) 참조PostgreSQL : 문서 : 9.3 : 토토 캔더 보기 준비된 문의 동작에 대한 정보입니다.
이 함수는 연결된 장치에서만 호출되어야 합니다. 절차.
SPIPlanPtr에 대한 포인터로 선언됩니다. 불투명 구조체 유형spi.h. 그것은 현명하지 못한 일이다 내용에 직접 액세스하려고 하면 코드가 생성됩니다. 향후 개정판에서 깨질 가능성이 훨씬 더 높습니다.토토 사이트 순위.
이름SPIPlanPtr다소 역사적, 데이터 구조가 더 이상 반드시 포함되지 않기 때문에 실행 계획입니다.
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| SPI_execute_with_args | 위로 | SPI_prepare_cursor |