반응형
Eclipselink: 임시 테이블의 열 길이 및 mb4
우리는 Eclipselink 2.7을 사용하고 있으며 Maria-DB를 연합 타입 UTF8-mb4로 설정했습니다.원칙적으로 설정은 정의된 것을 제외하고는 잘 작동합니다.DELETE
진술.이 에클립스 링크는 실행하려고 합니다.
CREATE TEMPORARY TABLE IF NOT EXISTS TL_tf (SHA1 VARCHAR(255) NOT NULL, VALUE VARCHAR(255), PRIMARY KEY (SHA1))
이로 인해 MariaDB가 크기 제한으로 인해 명령을 거부합니다. 즉, SHA1이 PRIMARY KEY에 대한 UTF8-MB4 설정과 함께 사용하기에는 너무 깁니다.
세팅@Column(length=100)
에클립셀 링크에서 무시됩니다.
MariaDB나 Eclipslink에서 설정을 변경할 수 있는 방법이 있습니까?
SHA1은 160 bits/20 bytes/40 hex에 불과하므로 255를 사용할 이유가 없습니다.대신:
CHAR(40) CHARACTER SET ascii
아니면 사용UNHEX(SHA1(...))
그리고 작은곳에 보관합니다.
BINARY(20)
해시를 사용하는 경우PRIMARY KEY
확장이 잘 되지 않습니다.테이블이 너무 커서 완전히 캐시할 수 없는 경우 테이블에 대한 액세스 권한은 I/O 바인딩됩니다.이것은 큰 테이블에 심각한 문제가 될 수 있습니다.
언급URL : https://stackoverflow.com/questions/52399885/eclipselink-column-length-and-mb4-for-temporary-table
반응형
'programing' 카테고리의 다른 글
MySQL 메모리 테이블과 동등한 PostgreSQL? (0) | 2023.09.07 |
---|---|
그 내용으로 디브의 키를 크게 하다. (0) | 2023.09.07 |
클라이언트 브라우저에 알림 푸시 (0) | 2023.09.07 |
sqalchemy 엔진이 제공된 IP 대신 127.0.0.1에 연결하려고 합니다. (0) | 2023.09.07 |
컨테이너 이름에서 도커 컨테이너 ID 가져오기 (0) | 2023.09.02 |