이 문서는 지원되지 않는 버전의 사설 토토 사이트 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 토토 사이트 추천 생성버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

생성 사설 토토 사이트

이름

운영자 생성-새 사용자를 정의합니다 사설 토토 사이트

시놉시스

운영자 생성이름(절차 =func_name[, leftarg =type1] [, rightarg =type2]
     [, 통근자 =com_op] [, Negator =NEG_OP]
     [, 제한 =res_proc] [, join =join_proc]
     [, 해시] [, sort1 =left_sort_op] [, sort2 =right_sort_op])

입력

이름

정의 할 사설 토토 사이트. 허용은 아래를 참조하십시오 캐릭터.

func_name

이 사설 토토 사이트를 구현하는 데 사용되는 기능.

type1

운영자의 왼쪽 인수 유형, if 어느. 이 옵션은 왼쪽 단위로 생략됩니다 사설 토토 사이트.

Type2

운영자의 오른쪽 인수 유형, 있는 경우. 이 옵션은 올바른 연합에 대해 생략됩니다 사설 토토 사이트.

com_op

이 사설 토토 사이트의 통근자.

NEG_OP

이 사설 토토 사이트의 부정 자.

RES_PROC

제한 선택성 추정기 기능 이 사설 토토 사이트.

join_proc

이에 대한 결합 선택성 추정기 기능 사설 토토 사이트.

해시

이 사설 토토 사이트가 해시 조인을 지원할 수 있음을 나타냅니다.

left_sort_op

이 사설 토토 사이트가 합병 조인을 지원할 수 있다면 이것의 왼쪽 데이터 유형을 정렬하는 사설 토토 사이트 사설 토토 사이트.

right_sort_op

이 사설 토토 사이트가 합병 조인을 지원할 수 있다면 오른쪽 데이터 유형을 정렬하는 사설 토토 사이트 사설 토토 사이트.

출력

생성

사설 토토 사이트가 성공적으로 있으면 메시지가 반환되었습니다 생성.

설명

운영자 생성새 사설 토토 사이트 정의이름. 정의하는 사용자 운영자는 소유자가됩니다.

사설 토토 사이트이름is Up to Namedatalen-1 (기본적으로 31) 문자의 시퀀스 다음 목록 :

+-*/< = ~! @#%^& | `? $

선택한 경우 몇 가지 제한이 있습니다 이름의 :
  • "$"는 단일 문자 사설 토토 사이트로 정의 할 수 없습니다. 다중 특전 사업자의 일부일 수 있지만 이름.

  • "-"및 "/*"는 운영자 이름의 어느 곳에서나 나타날 수 없습니다. 그들은 의견의 시작으로 받아 들일 것입니다.

  • 다중 문자 운영자 이름은 "+"또는 "-"에서 끝날 수 없습니다. 이름 에도이 중 하나 이상이 포함되지 않는 한 캐릭터 :

    ~! @#%^& | `? $

    예를 들어@-허용 된 사설 토토 사이트 이름이지만*-는 그렇지 않습니다. 이 제한은 허용Postgres구문 분석 SQL 호환 쿼리 사이의 공간이 필요하지 않습니다 토큰.

참고 :비 SQL 표준 사설 토토 사이트와 작업 할 때 이름, 일반적으로 인접한 사설 토토 사이트를 분리해야합니다 모호성을 피할 수있는 공간이 있습니다. 예를 들어, 당신이있는 경우 "@"라는 좌익 사설 토토 사이트를 정의했습니다.x*@y; 당신은 작성해야합니다x* @yPostgres두 개의 사설 토토 사이트 이름으로 읽습니다 하나가 아닙니다.

사설 토토 사이트 "! ="입력시 "<"에 매핑되어 있으므로 두 이름은 항상 동일합니다.

왼쪽과 오른쪽 중 하나 이상이 정의되어야합니다. 을 위한 이진 사설 토토 사이트는 둘 다 정의되어야합니다. 올바른 단독 운영자, 왼쪽 단지의 경우 왼쪽 만 정의해야합니다. 운영자 만 왼쪽을 정의해야합니다.

thefunc_name절차가 있어야합니다 이전에를 사용하여 정의되었습니다.생성 기능올바른 수를 수락하도록 정의되어야합니다. 표시된 유형의 인수 (1-2 개).

정류자 사설 토토 사이트가 존재하는 경우 식별해야합니다. 저것Postgres를 뒤집을 수 있습니다 원하는 경우 피사설 토토 사이트의 순서. 예를 들어, 사설 토토 사이트 지역보다 <<<는 아마도 통근자가있을 것입니다 운영자, 지역 이상의 지역, . 따라서 쿼리 Optimizer는 자유롭게 변환 할 수 있습니다.

box '((0,0), (1,1))' mybox.Description
to
myboxes.description <<< box '((0,0), (1,1))'

이것은 실행 코드가 항상 후자를 사용할 수 있도록 허용합니다. 쿼리 최적화를 다소 표현하고 단순화합니다.

마찬가지로, 부정적 사설 토토 사이트가 있으면 식별. 운영자, 면적 평등 ===가 존재한다고 가정 해 봅시다 영역이 동일하지 않은 영역,! ==. Negator 링크는 쿼리를 허용합니다 단순화하기 위해 Optimizer

mybox.description === box '((0,0), (1,1))'
to
myboxes.description! == box '((0,0), (1,1))'

정류자 운영자 이름이 제공되는 경우Postgres카탈로그에서 검색합니다. 만약에 발견되었고 아직 정류자 자체가 없습니다. 통근자의 항목은 새로 생성되도록 업데이트되었습니다. 통근자로서 운영자. 이것은 부정기에도 적용됩니다. 이것은 두 사설 토토 사이트의 정의를 허용하는 것입니다. 통근자 또는 서로의 부정관. 첫 번째 사설 토토 사이트 정류기 또는 부정관없이 정의해야합니다 (AS 적절한). 두 번째 사설 토토 사이트가 정의되면 첫 번째로 이름을 지정하십시오 정류자 또는 부정관으로. 첫 번째는 측면으로 업데이트됩니다 효과. (Postgres 6.5 기준으로, 그것은 또한 두 가지 모두를 갖기 위해 작동합니다. 운영자는 서로를 참조합니다.)

해시, Sort1 및 Sort2 옵션이 제공됩니다. 조인을 수행 할 때의 쿼리 최적화기.Postgres항상 조인을 평가할 수 있습니다 (즉, 두 개의 튜플 변수로 조항을 처리합니다. 반복적 인 대체에 의해 부울을 반환하는 사설 토토 사이트 [Wong76]. 게다가,Postgres[SHAP86]의 선을 따라 해시 조인 알고리즘을 사용할 수 있습니다. 그러나이 전략이 적용 가능한지 알아야합니다. 그만큼 현재 해시 조인 알고리즘은 사설 토토 사이트에게만 정확합니다 평등 테스트를 나타냅니다. 또한 데이터 유형의 평등 유형의 표현의 비트 동등성을 의미해야합니다. (예를 들어, 사용하지 않는 비트가 포함 된 데이터 유형 평등 테스트에 대한 문제는 해시 조합 할 수 없습니다.) 해시 플래그는 해시 조인이 안전하게 이 사설 토토 사이트와 함께 사용하십시오.

마찬가지로 두 정렬 사설 토토 사이트는 쿼리를 나타냅니다 Merge-Sort가 사용 가능한 조인 전략인지, 운영자는 두 오페라 클래스를 정렬하는 데 사용해야합니다. 종류 운영자는 평등 사설 토토 사이트 만 제공해야하며 그들은 왼쪽과 오른쪽의 사설 토토 사이트보다 적은 운영자를 언급해야합니다. 측면 데이터 유형 각각.

다른 조인 전략이 실용적인 것으로 밝혀지면Postgres가 변경됩니다 이를 사용하려면 최적화 및 런타임 시스템이 필요합니다. 작업자가 정의 된 경우 추가 사양. 다행히도 연구 커뮤니티는 새로운 조인 전략을 발명합니다 드물게, 사용자 정의 조인의 일반성이 추가되었습니다 전략은 관련된 복잡성의 가치가있는 것으로 느껴지지 않았습니다.

제한 및 조인 옵션은 쿼리 최적화를 지원합니다. 결과 크기 추정. 양식의 조항 인 경우 :

myboxes.description <<< box '((0,0), (1,1))'
자격에 존재합니다.Postgres의 비율을 추정해야 할 수도 있습니다 조항을 만족시키는 MyBox의 인스턴스. 함수RES_PROC등록해야합니다 함수 (의미를 사용하여 이미 정의되어 있음을 의미기능 생성)의 인수를 받아들입니다 데이터 유형을 올바르게하고 부동 소수점 번호를 반환합니다. 쿼리 Optimizer는 단순히이 함수를 호출하여 매개 변수를 전달합니다((0,0), (1,1))결과를 곱하십시오 예상 인스턴스 수를 얻기 위해 관계 크기로.

유사하게, 운영자의 피사설 토토 사이트에 둘 다 포함 할 때 인스턴스 변수, 쿼리 옵티마이저는 크기를 추정해야합니다. 결과 조인. join_proc 함수는 다른 것을 반환합니다 플로팅 포인트 번호는 곱할 것입니다 예상을 계산하기 위해 관련된 두 테이블의 기본화 결과 크기.

함수 간의 차이

my_procedure_1 (myboxes.description, box '((0,0), (1,1))')
및 사설 토토 사이트
myboxes.description === box '((0,0), (1,1))'
Postgres시도 사설 토토 사이트를 최적화하고 인덱스를 사용하여 운영자가 참여할 때 검색 공간. 그러나 아무도 없습니다 함수를 최적화하려고 시도하면 Brute가 수행합니다. 힘. 또한 기능은 여러 인수를 가질 수 있습니다 사설 토토 사이트는 1 ~ 2 개로 제한됩니다.

노트

사설 토토 사이트 사용자 안내서더 정보. 참조드롭 사설 토토 사이트to 데이터베이스에서 사용자 정의 사설 토토 사이트 삭제.

usage

다음 명령은 새 사설 토토 사이트, 면적 평등, 정의합니다. 박스 데이터 유형 :

생성 사설 토토 사이트 === (
   leftarg = 상자,
   rightarg = 상자,
   절차 = area_equal_procedure,
   통근자 = ===,
   부정기 =! ==,
   제한 = area_restriction_procedure,
   join = area_join_procedure,
   해시,
   sort1 = <<<,
   sort2 = <<<
);

호환성

SQL92

운영자 생성isPostgres확장. 없음운영자 생성성명서SQL92.