이 페이지의 일부 또는 전체 정보는 S3NS의 신뢰할 수 있는 클라우드에 적용되지 않을 수 있습니다.
Cloud SQL 함수
MySQL
| PostgreSQL
| SQL Server
이 페이지에서는 Cloud SQL 함수에 대해 설명합니다.
벡터 변환 함수
다음 표에서는 SELECT
문에서 벡터 정보를 조작하기 위해 사용할 수 있는 함수를 보여줍니다.
함수 |
|
설명 |
vector_to_string |
입력: VECTOR
출력: STRING
|
인수를 인간이 읽을 수 있는 벡터 형식의 문자열로 변환합니다.
입력: VECTOR 유형의 인수 1개
출력: 문자열
구문:
vector_to_string(some_embedding)
|
string_to_vector |
입력: STRING
출력: VECTOR
|
문자열을 인간이 읽을 수 있는 벡터 형식으로 변환합니다. 이렇게 하면 벡터로 표시하려는 값을 쓸 수 있습니다.
입력: 문자열
구문:
string_to_vector('some_embedding')
출력: 벡터 유형의 값 1개
|
검색 함수
이 섹션에서는 Cloud SQL 검색 함수에 대해 설명합니다.
KNN 함수
다음 표에서는 KNN 벡터 거리를 계산하는 데 사용할 수 있는 함수를 보여줍니다.
함수 |
데이터 유형 |
설명 |
vector_distance |
입력: VECTOR
출력: REAL
|
두 VECTOR 사이의 벡터 거리를 계산합니다. 두 VECTOR 의 크기가 같아야 합니다.
입력: 필수. 2개의 벡터 값을 사용합니다. 선택적인 세 번째 문자열 인수는 거리 측정값을 나타냅니다. 기본값은 `l2_squared_distance`입니다. 다른 옵션으로는 `cosine_distance` 및 `dot_product`가 있습니다.
출력: 두 벡터 사이의 거리입니다.
예를 들면 다음과 같습니다.
SELECT vector_distance(string_to_vector('[1,-2,3]'), string_to_vector('[1,2,3]'), 'Distance_Measure=dot_product');
|
cosine_distance |
입력: VECTOR
출력: REAL
|
두 벡터 사이의 각도 코사인을 계산하는 알고리즘입니다. 값이 작을수록 벡터 간의 유사성이 높습니다.
입력: 2개의 벡터 값을 사용합니다. 이러한 값은 열 이름 또는 상수일 수 있습니다.
출력: 두 벡터 간의 코사인 거리입니다.
예를 들면 다음과 같습니다.
SELECT cosine_distance(string_to_vector('[1,2,3]'), string_to_vector('[1,1,1]'));
SELECT id
FROM t1
ORDER BY cosine_distance(string_to_vector('[1,2,3]'), embedding_column_name)
LIMIT 10;
|
dot_product |
입력: VECTOR
출력: REAL
|
2개의 입력 벡터 사이에 내적 연산을 수행하여 단일 스칼라 값을 계산 및 출력하는 알고리즘입니다.
입력: 2개의 벡터 값을 사용합니다. 이러한 값은 열 이름 또는 상수일 수 있습니다.
출력: 두 벡터의 내적입니다.
예를 들면 다음과 같습니다.
SELECT dot_product(string_to_vector('[1,2,3]'), string_to_vector('[1,1,1]'));
SELECT id FROM t1 ORDER BY dot_product(string_to_vector('[1,2,3]'), embbeding_column_name) LIMIT 10;
|
l2_squared_distance |
입력: VECTOR
출력: REAL
|
2개의 입력 벡터 사이의 각 측정기준에 제곱 거리를 추가하여 이들 사이의 유클리드 거리를 측정하는 알고리즘입니다.
입력: 2개의 벡터 값을 사용합니다. 이러한 값은 열 이름 또는 상수일 수 있습니다.
출력: 두 벡터 사이의 L2 제곱 거리입니다.
예를 들면 다음과 같습니다.
SELECT l2_squared_distance(string_to_vector('[1,2,3]'), string_to_vector('[1,1,1]'));
SELECT id
FROM t1
ORDER BY l2_squared_distance(string_to_vector('[1,2,3]'), embbeding_column_name)
LIMIT 10;
|
ANN 함수
다음 표에서는 벡터 거리 계산에 사용할 수 있는 함수를 보여줍니다.
함수 |
데이터 유형 |
설명 |
approx_distance |
입력: VECTOR
출력: REAL
|
선택한 알고리즘을 사용하여 거리 측정을 충족하는 Top-K 최근접 행을 찾습니다. 이 함수는 벡터 열에서 상수 값까지 근사 최근접 이웃을 쿼리합니다. 두 임베딩 열의 VECTOR 유형 및 상수 VECTOR 는 크기가 동일해야 합니다. 일부 경우에는 이 함수는 ANN 검색 대신 KNN(정확한 검색) 검색으로 전환됩니다. 이 함수를 사용하는 쿼리에 한도를 포함해야 합니다.
구문:
approx_distance(embedding_name,
query_vector,
'distance_measure=algorithm_name
[, num_leaves_to_search=value]'
입력:
- embedding_name: 기본 테이블의 벡터 임베딩 열 이름입니다.
- query_vector:
string_to_vector 의 출력일 수 있지만 필수는 아닌 `VECTOR` 유형의 상수입니다.
- 쉼표로 구분된 검색 문자열 옵션에는 다음이 포함됩니다.
예를 들면 다음과 같습니다.
'distance_measure=dot_product,
num_leaves_to_search=100'
필요한 LIMIT 값: 지정된 한도는 반환할 이웃 수(Top-K)로 사용됩니다.
출력: 기본 테이블에서 Top-K 최근접 행의 대략적인 거리입니다.
이 함수는 ORDER BY 또는 SELECT 목록에서만 사용할 수 있습니다.
예를 들면 다음과 같습니다.
SELECT id, approx_distance(embedding_column_name
string_to_vector('[1,1,1]'),
'distance_measure=cosine') dist from t1
ORDER BY dist LIMIT 10;
SELECT id
FROM t1
ORDER BY
approx_distance(
embedding_column_name
string_to_vector('[1,1,1]'),
'distance_measure=dot_product,num_leaves_to_search=100) LIMIT 4;
|
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-07-02(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-02(UTC)"],[],[]]