30.1. 무엇인가요무지개 토토편집?#

적시 (무지개 토토) 컴파일은 해석된 프로그램 평가 형식을 기본 프로그램으로 변환하고 런타임에 수행하는 프로세스입니다. 예를 들어, 임의의 SQL 표현식을 평가할 수 있는 범용 코드를 사용하는 대신 다음과 같은 특정 SQL 조건자를 평가합니다.어디에서 a.col = 3, 해당 표현식에 특정한 함수를 생성하고 CPU에서 기본적으로 실행할 수 있어 속도가 향상될 수 있습니다.

포스트그레SQL수행 지원 기능이 내장되어 있습니다무지개 토토다음을 사용하여 컴파일LLVM언제포스트그레SQL다음으로 구축됨--with-llvm.

참조src/백엔드/무지개 토토/README자세한 내용은.

30.1.1. 무지개 토토가속화된 작업#

현재포스트그레SQL's무지개 토토구현에서는 표현식 평가 및 튜플 변형 가속화를 지원합니다. 향후 몇 가지 다른 작업이 가속화될 수 있습니다.

식 평가는 평가에 사용됩니다.어디절, 대상 목록, 집계 및 예측. 각 사례에 맞는 코드를 생성하면 속도가 빨라질 수 있습니다.

튜플 변형은 디스크 상의 튜플을 변환하는 프로세스입니다(참조섹션 66.6.1)을 메모리 내 표현으로 변환합니다. 테이블 레이아웃과 추출할 열 수에 맞는 함수를 생성하면 속도가 빨라질 수 있습니다.

30.1.2. 인라이닝#

PostgreSQL확장성이 뛰어나며 새로운 데이터 유형, 함수, 연산자 및 기타 데이터베이스 개체를 정의할 수 있습니다. 보다PostgreSQL : 문서 : 18 : 36 장. SQL 사설 토토 사이트. 실제로 내장 객체는 거의 동일한 메커니즘을 사용하여 구현됩니다. 이러한 확장성은 예를 들어 함수 호출로 인한 일부 오버헤드를 의미합니다(참조윈 토토 : 문서 : 18 : 36.3. 사용자 정의 함수). 오버헤드를 줄이려면,무지개 토토컴파일은 이를 사용하여 작은 함수의 본문을 표현식에 인라인할 수 있습니다. 이를 통해 상당한 비율의 오버헤드를 최적화할 수 있습니다.

30.1.3. 최적화#

LLVM생성된 코드 최적화를 지원합니다. 일부 최적화는 언제든지 수행할 수 있을 만큼 저렴합니다.무지개 토토가 사용되고 다른 것들은 장기 실행 쿼리에만 유용합니다. 보다https://llvm.org/docs/Passes.html#transform-passes최적화에 대한 자세한 내용을 확인하세요.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.