SQL 최적화로부터 최고의 성능 향상을 얻으려면 이 섹션의 항목에 주의하십시오.
플로우 순서. SPSS Modeler의 데이터 마이닝 기능이 표준 SQL에서 지원하는 기존 데이터 처리 조작보다 풍부하기 때문에 노드의 기능이 SQL에서 동등한 의미를 갖지 않는 경우 SQL 생성이 정지될 수 있습니다. 이런 경우, 모든 다운스트림 노드에 대해서 SQL 생성도 억제됩니다. 따라서 SQL을 정지시키는 작업을 가능한 한 다운스트림에 멀리 배치하도록 노드를 다시 정렬함으로써 성능을 크게 개선할 수 있습니다. SQL 옵티마이저는 일정한 양의 재정렬을 자동으로 수행할 수 있지만 추가적인 개선이 가능할 수 있습니다. 종종 앞으로 가져올 선택 노드가 적합합니다. 자세한 정보는 SQL 푸시백을 지원하는 노드 를 참조하십시오.
CLEM 표현식. 플로우를 다시 정렬할 수 없는 경우 노드 옵션 또는 CLEM 표현식을 변경할 수 있습니다. 또는 더 이상 SQL 생성을 금지하지 않도록 작업이 수행되는 방식을 재구성할 수 있습니다. 모든 CLEM 표현식 연산자와 동등한 SQL 연산자가 있는 경우, 파생, 선택 및 유사 노드는 일반적으로 SQL로 렌더링될 수 있습니다. 대부분의 연산자는 렌더링될 수 있으나 SQL 생성을 금지하는 연산자도 많습니다(특히 순차 함수 [“@ functions”]). 생성된 쿼리가 데이터베이스가 처리하기에 너무 복잡하기 때문에 생성이 정지되는 경우도 있습니다. 자세한 정보는 SQL 푸시백을 지원하는 CLEM 표현식 및 연산자 를 참조하십시오.
다중 입력 노드. 플로우에 데이터 가져오기 노드가 여러 개 있는 경우, SQL 생성이 가져오기 분기 각각에 개별적으로 적용됩니다. 한 분기에서 생성이 정지되면 다른 분기에서 계속될 수 있습니다. 두 분기가 합쳐질 때(합쳐질 때까지 두 분기 모두 SQL로 표현될 수 있음), 합치기 자체가 데이터베이스 결합으로 대체되고 생성이 다운스트림으로 계속될 수 있습니다.
모델 스코어링. In-Database 스코어링은 생성된 모형을 SQL로 렌더링함으로써 일부 모형에 대해 지원됩니다. 그러나 일부 모델의 경우 데이터베이스 내에서 항상 효과적으로 평가되지 않는 매우 복잡한 SQL 표현식을 생성합니다. 따라서 생성된 모델 너깃마다 별도로 SQL 생성을 사용으로 설정해야 합니다. 모델 너깃이 SQL 생성을 금지하고 있을 경우, 모델 너깃 설정을 열고 이 모델의 SQL 생성을 선택하십시오. 일부 모델의 경우, 생성을 제어하는 추가 옵션이 있을 수 있습니다. 옵션이 애플리케이션에 유익한지 확인하려면 검정을 실행하십시오. 자세한 정보는 SQL 푸시백을 지원하는 노드 를 참조하십시오.
모델링 노드를 검정하여 모델에 대한 SQL 생성이 효과적으로 작동하는지 확인할 때 먼저 SPSS Modeler의 모든 플로우를 저장하는 것이 좋습니다. 일부 데이터베이스 시스템의 경우 생성된 SQL(복잡한 SQL)을 처리하려고 시도하는 중에 정지될 수 있습니다.
데이터베이스 캐싱. 플로우의 중요한 포인트에서 데이터를 저장하기 위해 노드 캐시를 사용하는 경우(예: 합치기 또는 통합 노드를 따르는 경우), SQL 최적화와 함께 데이터베이스 캐싱이 사용으로 설정되었는지 확인하십시오. 사용할 수 있으면 대부분의 경우에 데이터가 파일 시스템이 아니라 데이터베이스 내의 임시 테이블에 캐시될 수 있습니다.
벤더별 SQL. 대부분의 생성된 SQL은 표준-준수(SQL-92) 유형이나 필요에 따라 일부 비표준, 벤더별 기능을 사용할 수도 있습니다. SQL 최적화의 정도는 데이터베이스 소스에 따라 다를 수 있습니다.