Loading...
MySQL 9.5 Reference Manual 9.5의 26.6.3 Partitioning Limitations Relating to Functions의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
이 섹션에서는 partitioning 식에서 사용되는 함수와 관련하여, MySQL 파티셔닝의 제약 사항을 다룹니다.
다음 목록에 나타난 MySQL 함수만이 partitioning 식에서 허용됩니다:
FLOOR() (참조:
CEILING() and FLOOR())
UNIX_TIMESTAMP() (TIMESTAMP 열과 함께 사용하는 경우)
MySQL 9.5에서는
TO_DAYS(),
TO_SECONDS(),
YEAR(), 그리고
UNIX_TIMESTAMP() 함수에 대해 파티션 프루닝이 지원됩니다.
자세한 내용은 Section 26.4, “Partition Pruning”을 참조하십시오.
CEILING() and FLOOR().
이들 함수 각각은,
INT 타입이나
DECIMAL와 같은 정확한 숫자형 타입의 인수를 전달받은 경우에만 정수를 반환합니다.
이는 예를 들어 다음과 같은
CREATE TABLE 문장이 아래와 같이 오류와 함께 실패함을 의미합니다:
1mysql> CREATE TABLE t (c FLOAT) PARTITION BY LIST( FLOOR(c) )( 2 -> PARTITION p0 VALUES IN (1,3,5), 3 -> PARTITION p1 VALUES IN (2,4,6) 4 -> ); 5ERROR 1490 (HY000): The PARTITION function returns the wrong type
EXTRACT() function with WEEK specifier.
EXTRACT() 함수가
EXTRACT(WEEK FROM col) 형태로 사용될 때 반환하는 값은
default_week_format 시스템 변수의 값에 따라 달라집니다.
이러한 이유로,
EXTRACT()는 단위를 WEEK로 지정하는 경우 파티셔닝 함수로 허용되지 않습니다. (Bug #54483)
이들 함수의 반환 타입에 대한 자세한 내용은 Section 14.6.2, “Mathematical Functions”뿐 아니라 Section 13.1, “Numeric Data Types”을 참조하십시오.
26.6.2 Partitioning Limitations Relating to Storage Engines
27 Stored Objects