포스트그레SQL의 구현테이블 샘플절은 외에도 사용자 정의 테이블 샘플링 방법을 지원합니다.BERNOULLI그리고시스템SQL 표준에서 요구하는 메소드입니다. 스포츠 토토 방법에 따라 테이블의 어떤 행이 선택될지 결정됩니다.테이블 샘플절이 사용되었습니다.
SQL 레벨에서 테이블 샘플링 방법은 일반적으로 C로 구현되며 서명이 있는 단일 SQL 함수로 표시됩니다.
method_name(내부) 반환 tsm_handler
함수 이름은 다음에 나타나는 메소드 이름과 동일합니다.테이블 샘플절.내부인수는 단순히 이 함수가 SQL 명령에서 직접 호출되는 것을 방지하는 역할을 하는 더미(항상 0 값을 가짐)입니다. 함수의 결과는 유형의 palloc'd 구조체여야 합니다.Tsm루틴, 샘플링 방법에 대한 기능을 지원하는 포인터가 포함되어 있습니다. 이러한 지원 함수는 일반 C 함수이며 SQL 수준에서 표시되거나 호출할 수 없습니다. 지원 기능은 다음에 설명되어 있습니다.Postgresql: Tài liệu: 18: 59.1. Phươ토토 커뮤니티 thức lấy mẫu các chức nă토토 커뮤니티 hỗ trợ.
함수 포인터 외에도TsmRoutine구조체는 다음 추가 필드를 제공해야 합니다.
*parameterTypes 나열이것은 다음에서 허용할 매개변수의 데이터 유형 OID를 포함하는 OID 목록입니다.테이블 샘플이 스포츠 토토 방법을 사용할 때의 절입니다. 예를 들어 내장 메소드의 경우 이 목록에는 값이 있는 단일 항목이 포함됩니다.FLOAT4OID, 스포츠 토토 비율을 나타냅니다. 맞춤 스포츠 토토 방법에는 더 많거나 다른 매개변수가 있을 수 있습니다.
bool Repeatable_across_queries만약참, 스포츠 토토 방법은 동일한 매개변수와반복 가능시드 값은 매번 제공되며 테이블 내용은 변경되지 않았습니다. 이럴 때거짓, 그반복 가능절은 스포츠 토토 방법과 함께 사용할 수 없습니다.
boolpeatable_across_scans만약참, 스포츠 토토 방법은 동일한 쿼리의 연속 스캔에서 동일한 샘플을 전달할 수 있습니다(변하지 않는 매개변수, 시드 값 및 스냅샷 가정). 이럴 때거짓, 플래너는 스포츠 토토된 테이블을 두 번 이상 스캔해야 하는 계획을 선택하지 않습니다. 그 이유는 일관되지 않은 쿼리 출력이 발생할 수 있기 때문입니다.
그TsmRoutine구조체 유형이 다음에서 선언되었습니다.src/include/access/tsmapi.h, 자세한 내용은 참조하세요.
표준 분포에 포함된 테이블 샘플링 방법은 직접 작성하려고 할 때 좋은 참고 자료가 됩니다. 다음을 살펴보세요.src/백엔드/액세스/테이블샘플내장 스포츠 토토 방법을 위한 소스 트리의 하위 디렉토리 및기여애드온 메소드의 하위 디렉토리.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.