추가내용,.. LIKE 검색이나, 문자열 함수 등을 사용이 불가능해집니다. PostgreSQL 에서 Collation 관련 이슈.. https://www.postgresql.org/docs/current/collation.html : PG 메뉴얼 https://www.unicode.org/reports/tr10/ : Unicode® Technical Standard #10 https://unicode-org.github.io/icu/ : ICU 문서 https://webcache.googleusercontent.com/search?q=cache:W2Mex4SS0ygJ:https://postgresql.verite.pro/blog/2019/10/14/nondeterministic-collations.htm..
시퀀스의 cache 설정은 세션레벨에서 동작 함. 즉, cache 100 으로 설정했을때, 1번 세션에서 nextval하면 1이 표시되고 2번 세션에서 netxtval 하면 101 이 표시된다... 메뉴얼에는 관련내용을 cache 쪽에 설명을 하지 않고 notes 에 남겨놨다.. Unexpected results might be obtained if a cache setting greater than one is used for a sequence object that will be used concurrently by multiple sessions. Each session will allocate and cache successive sequence values during one access to ..
테이블에 리스트 파티션을 약 8000여개 생성 (이렇게 사용하는곳이 없을줄 알았는데..우리가 이렇게 씀.) 현상 Loop 등을 수행하는데 5-6 번째에서 한참동안 멈춰있다가 실행 또는 db 비정상 종료 됨. 메모리가 계속 증가 이슈1 쿼리를 작성할때 파티션 테이블의 파티션 기준에 대한 조건이 항상 있어야 함. 후행 테이블일때 조인 조건으로 받아먹는건 의미 없음(비결정적으로 판단하여 모든 파티션을 읽는 실행계획이 생성됨) 메모리 사용량이 계속 증가하는 현상과 함께 심한 경우 db 가 비정상종료되는 경우도 발생함. 이슈2 모든 파티션 조건을 추가해도, 같은 쿼리가 여러번 (5-6)수행되면, 내부적으로 실행계획을 재사용하기 위해 플랜을 생성하게 되는데, 이때 또 이슈 1과 같은 현상이 발생 함. 해결하기 위해..
기존 MS 에서 LIKE '%keyword%' 로 동작하는 기능을 MARIADB 의 mroonga(전문검색) 으로 사용하기 위해 테스트 중에 발생한 일들은 기록함. CREATE TABLE `TEST` ( `COM_CODE` varchar(6) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `HID` bigint(20) DEFAULT NULL, ..... PRIMARY KEY (`COM_CODE`,`PROD_CD`) ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ENGINE "INNODB", flags "TABLE_HASH_KEY|KEY_LARGE"'; 다국어 테스트 ..
버퍼풀에 캐시된 페이지 정보를 내려받고 로드할 수 있는 기능으로, 운영중에도 가능하고, 재기동시 자동으로 동작하도록 설정 할 수 있다. 내려받는 것은 페이지 주소만 작은 텍스트 파일로 받기 때문에 운영중에 수행해도 관계없지만, 로드하는 것은 실제 데이터파일에서 페이지를 읽어 메모리에 올리기 때문에 주의해야 한다. 10.2 부터는 재기동시 자동으로 이 기능을 사용하며 innodb_buffer_pool_dump_pct = 25% 으로 설정되었다.. 아래 파라미터를 참고하여 사용하자. (10.2.2 부터는 기본적으로 사용한다)innodb_buffer_pool_dump_at_shutdown innodb_buffer_pool_dump_now innodb_buffer_pool_dump_pct innodb_buffe..
hash 조인 조인 조건이 where 절 등에 사용되는 등 특정 케이스에서 아래와 같이 오류가 발생한다. 하단 보미네 님의 자료를 참고하자.. 메시지 8622, 수준 16, 상태 1, 줄 2이 쿼리에 정의된 힌트로 인해 쿼리 프로세서에서 쿼리 계획을 생성할 수 없습니다. 힌트를 지정하거나 SET FORCEPLAN을 사용하지 않고 쿼리를 다시 전송하십시오. 문법적인 오류가 아닌데 사용자에게 런타임에 오류를 표시하는지 이해가 안된다... 알아서 회피해서 결과를 보여주면 될것 같은데... 이 문제는 2012, 2017 에서는 발생하지 않는다. 참고자료: http://sqlsql.tistory.com/101 [보미네]