카테고리:

시스템 함수 (시스템 정보)

SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS

주어진 테이블에 검색 최적화 를 추가하고 검색 최적화를 위해 특정 열을 구성하는 데 필요한 예상 비용을 반환합니다.

구문

SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS('<table_name>' [ , <search_method_with_target> ])

인자

table_name

검색 최적화 비용을 추정하려는 테이블입니다.

테이블 이름이 정규화되지 않은 경우(db_name.schema_name.table_name 또는 schema_name.table_name 형식) 함수는 세션의 현재 스키마에서 테이블을 찾습니다.

전체 이름은 작은따옴표로 묶어야 합니다.

search_method_with_target

열 구성 에 대한 검색 방법과 대상 을 지정합니다.

출력

이 함수는 아래에 설명된 속성이 있는 JSON 오브젝트를 반환합니다.

속성

설명

tableName

테이블의 이름입니다.

searchOptimizationEnabled

테이블에 대해 검색 최적화 속성이 설정되어 있으면 true 이고, 그렇지 않으면 false 입니다.

costPositions

테이블에 검색 최적화를 추가할 때 예상되는 비용을 설명하는 오브젝트 배열입니다.

costPositions 배열의 각 오브젝트는 서로 다른 유형의 비용 추정치를 나타냅니다.

...
"costPositions" : [
  {
    "name" : "BuildCosts",
    ...
  }, {
    "name" : "StorageCosts",
    ...
  }, {
    "name" : "Benefit",
    ...
  }, {
    "name" : "MaintenanceCosts",
    ...
  }
]
...

name 속성은 오브젝트가 나타내는 비용 유형을 식별합니다. name 은 다음 중 하나일 수 있습니다.

costPositions 의 오브젝트 name

설명

BuildCosts

이 오브젝트는 테이블에 대한 검색 액세스 경로를 구축하는 데 예상되는 비용을 설명합니다. 검색 최적화가 이미 테이블에 추가된 경우, 이 오브젝트는 비용 정보를 포함하지 않습니다.

StorageCosts

이 오브젝트는 테이블에 대한 검색 액세스 경로에 필요한 예상 저장 공간(TB)을 설명합니다. . 검색 최적화가 이미 테이블에 추가된 경우, 이 오브젝트는 검색 액세스 경로에서 사용하는 현재 공간을 보여줍니다.

Benefit

이 오브젝트는 현재 비용 정보를 포함하지 않습니다.

MaintenanceCosts

이 오브젝트는 테이블에 대한 검색 액세스 경로를 유지 관리하는 데 예상되는 비용을 설명합니다. 이 테이블이 최근에 만들어진 경우, 이 오브젝트는 비용 정보를 포함하지 않습니다.

costPositions 배열의 각 오브젝트는 다음 속성을 가질 수 있습니다.

속성

설명

name

이 오브젝트가 나타내는 비용 정보의 유형을 식별하는 이름 입니다.

costs

다음 속성과 관련하여 예상 비용을 설명하는 오브젝트:

value

예상 비용 금액입니다.

unit

비용 측정 단위입니다(예: 컴퓨팅 비용의 경우 《크레딧》, 저장소 비용의 경우 《TB》 등).

perTimeUnit

유지 관리 비용의 경우, 예상 비용이 포함되는 시간 단위입니다(예: 월별 비용의 경우 "MONTH").

computationMethod

여러 방법을 사용할 수 있는 경우, 비용을 추정하는 데 사용되는 방법입니다.

comment

예상 비용에 대한 추가 정보입니다.

사용법 노트

  • 빌드 비용의 경우, 이 함수는 지정된 테이블의 데이터 샘플에 대한 검색 액세스 경로 빌드를 기반으로 근사값을 반환합니다.

  • 유지 관리 비용의 경우, 이 함수는 테이블에 대한 최근 변경 사항(시간 경과에 따른 바이트 변경 사항)을 기반으로 합니다.

  • 이 함수를 호출하려면 웨어하우스를 사용 중이어야 합니다. 현재 사용 중인 웨어하우스가 없을 경우 이 함수는 다음 오류를 보고합니다.

    No active warehouse selected in the current session.
    Select an active warehouse with the 'use warehouse' command.
    

    X-Small 웨어하우스를 사용하여 이 함수를 실행할 수 있습니다. 웨어하우스 크기 는 이 함수의 속도와 성능에 아무런 영향도 미치지 않습니다.

  • 함수가 웨어하우스를 사용하지 않으므로 이 함수를 위한 웨어하우스 사용량에 대한 비용이 청구됩니다.

  • 이 함수는 완료하는 데 20초에서 10분 정도 걸릴 수 있습니다.

    위에서 언급했듯이, 더 큰 웨어하우스 크기를 사용한다고 해서 이 함수가 더 빨리 실행되는 것은 아닙니다.

다음 예는 검색 최적화를 테이블에 추가하는 데 소요되는 예상 비용을 보여줍니다.

select SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS('TABLE_WITHOUT_SEARCH_OPT');

+---------------------------------------------------------------------------+
| SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS('TABLE_WITHOUT_SEARCH_OPT')     |
|---------------------------------------------------------------------------|
| {                                                                         |
|   "tableName" : "TABLE_WITHOUT_SEARCH_OPT",                               |
|   "searchOptimizationEnabled" : false,                                    |
|   "costPositions" : [ {                                                   |
|     "name" : "BuildCosts",                                                |
|     "costs" : {                                                           |
|       "value" : 11.279,                                                   |
|       "unit" : "Credits"                                                  |
|     },                                                                    |
|     "computationMethod" : "Estimated",                                    |
|     "comment" : "estimated via sampling"                                  |
|   }, {                                                                    |
|     "name" : "StorageCosts",                                              |
|     "costs" : {                                                           |
|       "value" : 0.070493,                                                 |
|       "unit" : "TB"                                                       |
|     },                                                                    |
|     "computationMethod" : "Estimated",                                    |
|     "comment" : "estimated via sampling"                                  |
|   }, {                                                                    |
|     "name" : "MaintenanceCosts",                                          |
|     "costs" : {                                                           |
|       "value" : 30.296,                                                   |
|       "unit" : "Credits",                                                 |
|       "perTimeUnit" : "MONTH"                                             |
|     },                                                                    |
|     "computationMethod" : "Estimated",                                    |
|     "comment" : "Estimated from historic change rate over last ~11 days." |
|   } ]                                                                     |
| }                                                                         |
+---------------------------------------------------------------------------+

다음 예는 이미 검색 최적화가 있는 테이블에 대한 이 함수의 출력을 보여줍니다.

select SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS('TABLE_WITH_SEARCH_OPT');
+---------------------------------------------------------------------------+
| SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS('TABLE_WITH_SEARCH_OPT')        |
|---------------------------------------------------------------------------|
| {                                                                         |
|   "tableName" : "TABLE_WITH_SEARCH_OPT",                                  |
|   "searchOptimizationEnabled" : true,                                     |
|   "costPositions" : [ {                                                   |
|     "name" : "BuildCosts",                                                |
|     "computationMethod" : "NotAvailable",                                 |
|     "comment" : "Search optimization is already enabled."                 |
|   }, {                                                                    |
|     "name" : "StorageCosts",                                              |
|     "costs" : {                                                           |
|       "value" : 0.052048,                                                 |
|       "unit" : "TB"                                                       |
|     },                                                                    |
|     "computationMethod" : "Measured"                                      |
|   }, {                                                                    |
|     "name" : "Benefit",                                                   |
|     "computationMethod" : "NotAvailable",                                 |
|     "comment" : "Currently not supported."                                |
|   }, {                                                                    |
|     "name" : "MaintenanceCosts",                                          |
|     "costs" : {                                                           |
|       "value" : 30.248,                                                   |
|       "unit" : "Credits",                                                 |
|       "perTimeUnit" : "MONTH"                                             |
|     },                                                                    |
|     "computationMethod" : "EstimatedUpperBound",                          |
|     "comment" : "Estimated from historic change rate over last ~11 days." |
|   } ]                                                                     |
| }                                                                         |
+---------------------------------------------------------------------------+
맨 위로 이동