이 문서는 지원되지 않는 버전의 토토 사이트 순위을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다토토 : 문서 : 17 : SPI_PREPARE버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

SPI_PREPARE

이름

SPI_PREPARE- 진술을 실행하지 않고 준비하십시오 아직

시놉시스

spiplanptr spi_prepare (const char *명령, intNARGS, oid *Argtypes)

설명

SPI_PREPARE생성 및 반환 a 지정된 명령에 대한 준비된 명령문이지만 실행되지는 않습니다 명령. 준비된 진술은 나중에 실행될 수 있습니다 반복적으로 사용SPI_EXECUTE_PLAN.

동일하거나 유사한 명령을 반복적으로 실행할 때 일반적으로 구문 분석 분석을 한 번만 수행하는 것이 유리합니다. 또한 실행 계획을 재사용하는 것이 유리할 수 있습니다. 명령을 위해.SPI_PREPARE변환 캡슐화하는 준비된 문으로 명령 문자열 구문 분석 결과. 준비된 진술은 또한 a 생성이 발견되는 경우 실행 계획을 캐싱하는 장소 각 실행에 대한 맞춤 계획은 도움이되지 않습니다.

준비된 명령은 매개 변수를 작성하여 일반화 할 수 있습니다 ($ 1, $ 2등) 정상적인 명령에서 상수가 될 장소. 실제 그런 다음 매개 변수 값이를 지정합니다.SPI_EXECUTE_PLAN호출됩니다. 이것은 허용합니다 더 넓은 범위의 상황에서 사용하도록 준비된 명령 매개 변수없이 가능할 것입니다.

진술은SPI_PREPARE전류에서만 사용할 수 있습니다 이후 절차 호출SPI_FINISH그러한 메모리가 할당 된 메모리 성명. 그러나 진술은 기능SPI_KEEPPLAN또는SPI_SAVEPLAN.

인수

const char *명령

명령 문자열

intNARGS

입력 매개 변수 수 ($ 1, $ 2등)

OID *Argtypes

|OID매개 변수의 데이터 유형

반환 값

SPI_PREPARE널을 반환합니다 에 대한 포인터Spiplan, 불투명합니다 준비된 진술을 나타내는 구조. 오류로null반환되고SPI_RESULT동일한 오류 중 하나로 설정됩니다 사용 코드SPI_EXECUTE를 제외하고SPI_ERROR_ARGUMENTif명령isNULL, 또는 ifNARGS0보다 작거나 ifNARGS0보다 크다ArgtypesisNULL.

노트

매개 변수가 정의되지 않으면 일반 계획이 작성됩니다. 첫 번째 사용SPI_EXECUTE_PLAN, 그리고 모든 후속 실행에도 사용됩니다. 있다면 매개 변수,의 처음 몇 가지 사용SPI_EXECUTE_PLAN맞춤 계획을 생성합니다 제공된 매개 변수 값에만 해당됩니다. 충분히 사용한 후 동일한 준비된 진술,SPI_EXECUTE_PLAN일반 계획을 세우고 그것이 사용자 정의 계획보다 훨씬 비싸지 않다면 매번 다시 계획하는 대신 일반 계획을 사용하기 시작합니다. 이 기본 동작이 부적합한 경우 통과하여 변경할 수 있습니다. 그만큼cursor_opt_generic_plan또는cursor_opt_custom_plan플래그 toSPI_PREPARE_CURSOR, 제네릭의 사용을 강제하기 위해 각각의 맞춤형 계획.

준비된 진술의 주요 요점은 피하는 것입니다. 진술의 반복 된 구문 분석 및 계획,토토 사이트 순위reanalysis 및 데이터베이스를 사용할 때마다 사용하기 전에 명령문의 다시 계획 진술에 사용 된 객체는 정의 (DDL)를 겪었습니다. 준비된 진술의 이전 사용 이후 변경. 또한 IF 의 값search_path하나의 사용에서 다음 사용으로 변경하면 진술이 다시 표시됩니다. 새로운 사용search_path. (후자 행동은 새로운 것입니다토토 사이트 순위9.3.) 참조PostgreSQL : 문서 : 9.3 : 토토 캔더 많은 것 준비된 진술의 행동에 대한 정보.

이 함수는 연결된 A에서만 호출해야합니다 절차.

spiplanptr에 대한 포인터로 선언됩니다 불투명 한 구조물 유형SPI.H. 현명하지 않습니다 내용에 직접 액세스하려고하면 코드가됩니다. 미래의 수정에서 멈출 가능성이 훨씬 높습니다토토 사이트 순위.

이름spiplanptr다소입니다 데이터 구조에 더 이상 반드시 포함되지 않기 때문에 역사적 실행 계획.