Loading...
MySQL 9.5 Reference Manual 9.5의 14.21 Vector Functions의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
MySQL 9.5는 VECTOR 값을 다루기 위한 SQL 함수들을 지원합니다. 이러한 함수들은 이 섹션에서 설명합니다.
Table 14.31 Vector Functions
| Name | Description |
|---|---|
DISTANCE() | 지정된 방법에 따라 두 벡터 사이의 거리를 계산합니다 |
STRING_TO_VECTOR() | 규격을 준수하는 문자열로 표현된 VECTOR 컬럼의 바이너리 값을 가져옵니다 |
VECTOR_DIM() | 벡터의 길이(즉, 그 안에 포함된 항목의 개수)를 가져옵니다 |
VECTOR_TO_STRING() | 바이너리 문자열 값으로 주어진 VECTOR 컬럼의 문자열 표현을 가져옵니다 |
지정된 계산 방식에 따라 두 벡터 사이의 거리를 계산합니다. 다음 인자를 받습니다:
VECTOR 데이터 타입의 컬럼.
VECTOR 데이터 타입의 입력 쿼리.
거리 메트릭을 지정하는 문자열. 지원되는 값은
COSINE,
DOT, 그리고 EUCLIDEAN입니다.
인자가 문자열이므로 반드시 따옴표로 감싸야 합니다.
VECTOR_DISTANCE는 이 함수의 동의어입니다.
Examples:
1mysql> SELECT DISTANCE(STRING_TO_VECTOR("[1.01231, 2.0123123, 3.0123123, 4.01231231]"), STRING_TO_VECTOR("[1, 2, 3, 4]"), "COSINE"); 2+-----------------------------------------------------------------------------------------------------------------------+ 3| DISTANCE(STRING_TO_VECTOR("[1.01231, 2.0123123, 3.0123123, 4.01231231]"), STRING_TO_VECTOR("[1, 2, 3, 4]"), "COSINE") | 4+-----------------------------------------------------------------------------------------------------------------------+ 5| 0.0000016689300537109375 | 6+-----------------------------------------------------------------------------------------------------------------------+
참고
DISTANCE()는 MySQL HeatWave on OCI 및 MySQL AI 사용자에게만 제공되며, MySQL Commercial 또는 Community 배포판에는 포함되지 않습니다.
벡터의 문자열 표현을 바이너리 표현으로 변환합니다.
문자열의 예상 형식은 대괄호([``])로 둘러싸인
하나 이상의 콤마로 구분된 float 값 목록입니다.
값은 십진수 또는 과학적 표기법을 사용해 표현할 수 있습니다.
인자가 문자열이므로 반드시 따옴표로 감싸야 합니다.
TO_VECTOR()는 이 함수의 동의어입니다.
Examples:
1mysql> SELECT STRING_TO_VECTOR("[1.05, -17.8, 32]"); 2+---------------------------------------+ 3| STRING_TO_VECTOR("[1.05, -17.8, 32]") | 4+---------------------------------------+ 5| 0x6666863F66668EC100000042 | 6+---------------------------------------+ 71 row in set (0.00 sec) 8 9mysql> SELECT TO_VECTOR("[1.05, -17.8, 32, 123.456]"); 10+-----------------------------------------+ 11| TO_VECTOR("[1.05, -17.8, 32, 123.456]") | 12+-----------------------------------------+ 13| 0x6666863F66668EC10000004279E9F642 | 14+-----------------------------------------+ 151 row in set (0.00 sec)
VECTOR_TO_STRING()은 이 함수의 역함수입니다:
1mysql> SELECT VECTOR_TO_STRING(STRING_TO_VECTOR("[1.05, -17.8, 32]")); 2+---------------------------------------------------------+ 3| VECTOR_TO_STRING(STRING_TO_VECTOR("[1.05, -17.8, 32]")) | 4+---------------------------------------------------------+ 5| [1.05000e+00,-1.78000e+01,3.20000e+01] | 6+---------------------------------------------------------+ 71 row in set (0.00 sec)
이러한 값들에 포함된 모든 공백 문자는—숫자 뒤, 대괄호 앞 또는 뒤, 혹은 이들의 조합—사용되기 전에 제거(trim)됩니다.
VECTOR 컬럼 값을 입력으로 받아,
이 함수는 해당 벡터가 포함하는 항목의 개수를 반환합니다.
Example:
1mysql> SELECT VECTOR_DIM(0x0040004000800080); 2+--------------------------------+ 3| VECTOR_DIM(0x0040004000800080) | 4+--------------------------------+ 5| 2 | 6+--------------------------------+ 71 row in set (0.00 sec) 8 9mysql> SELECT VECTOR_DIM(TO_VECTOR('[2, 3, 5]') ); 10+-------------------------------------+ 11| VECTOR_DIM(TO_VECTOR('[2, 3, 5]') ) | 12+-------------------------------------+ 13| 3 | 14+-------------------------------------+ 151 row in set (0.00 sec)
이 함수의 인자가 벡터 값으로 파싱될 수 없는 경우 오류가 발생합니다.
VECTOR 컬럼 값의
바이너리 표현을 입력으로 받아,
이 함수는 문자열 표현을 반환합니다.
이 형식은
STRING_TO_VECTOR() 함수의 인자에 대해 설명된 형식과 동일합니다.
FROM_VECTOR()는 이 함수의 동의어로 허용됩니다.
Examples:
1mysql> SELECT VECTOR_TO_STRING(0x00000040000040400000A0400000E040); 2+------------------------------------------------------+ 3| VECTOR_TO_STRING(0x00000040000040400000A0400000E040) | 4+------------------------------------------------------+ 5| [2.00000e+00,3.00000e+00,5.00000e+00,7.00000e+00] | 6+------------------------------------------------------+ 71 row in set (0.00 sec) 8 9mysql> SELECT FROM_VECTOR(0x00000040000040400000A040); 10+-----------------------------------------+ 11| FROM_VECTOR(0x00000040000040400000A040) | 12+-----------------------------------------+ 13| [2.00000e+00,3.00000e+00,5.00000e+00] | 14+-----------------------------------------+ 151 row in set (0.00 sec)
이 함수의 인자가 벡터 값으로 파싱될 수 없는 경우 오류가 발생합니다.
이 함수의 출력 최대 크기는 262128 (16 * 16383) 바이트입니다.
14.20.5 Window Function Restrictions
14.22 Performance Schema Functions