반응형
TokuDB 쿼리에서 임시 테이블을 만드는 속도가 너무 느립니다.
1개의 서버에 다음 테이블이 있습니다.
CREATE TABLE `mh` (
`M` char(13) NOT NULL DEFAULT '',
`F` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`D` char(6) DEFAULT NULL,
`A` int(11) DEFAULT NULL,
`DC` char(13) DEFAULT NULL,
`S` char(22) DEFAULT NULL,
`S0` int(11) DEFAULT NULL,
PRIMARY KEY (`F`,`M`),
KEY `IDX_S` (`S`),
KEY `IDX_M` (`M`),
KEY `IDX_A` (`M`,`A`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1;
같은 테이블이지만 MyISAM 엔진을 다른 유사한 서버에서 사용하고 있습니다.
이 쿼리를 실행할 때:
CREATE TEMPORARY TABLE temp
(S VARCHAR(22) PRIMARY KEY)
AS
(
SELECT S, COUNT(S) AS HowManyS
FROM mh
WHERE A = 1 AND S IS NOT NULL
GROUP BY S
);
테이블에는 1억 2천만 개의 행이 있습니다.TokuDB를 사용하는 서버는 3시간 후에 쿼리를 실행합니다.22분만에 MyISAM을 사용할 수 있습니다.
TokuDB를 사용한 쿼리는 "약 38230000 행에 대한 쿼리, 약 303929 행 가져오기, 데이터 로딩이 남아 있음" 상태를 표시합니다.
TokuDB 쿼리 기간이 오래 걸리는 이유는 무엇입니까?TokuDB는 정말 좋은 엔진인데 이 쿼리에 무슨 문제가 있는지 모르겠어요.
서버가 MariaDB 5.5.38 서버를 사용하고 있다.
TokuDB는 현재 https://github.com/Tokutek/tokudb-engine/issues/143에서 설명한 바와 같이 이 문에서 벌크패키지 알고리즘을 사용하고 있지 않습니다.이 페이지에 링크를 추가했기 때문에 향후 작업의 일부로 간주됩니다.
언급URL : https://stackoverflow.com/questions/24201286/creating-temporary-table-from-tokudb-query-too-slow
반응형
'itsource' 카테고리의 다른 글
MySQL 여러 테이블에 삽입? (데이터베이스 정규화?) (0) | 2022.11.24 |
---|---|
MariaDB - 두 개의 외부 키로 테이블을 만들 수 없습니다. (0) | 2022.11.24 |
Java에는 Integer, Float, Double, Long의 가변형이 있습니까? (0) | 2022.11.24 |
Larabel Altural을 사용하여 마지막으로 삽입된 ID 가져오기 (0) | 2022.11.24 |
Android의 AsyncTask에서 값 반환 (0) | 2022.11.24 |