Details
-
Bug
-
Status: Open (View Workflow)
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
Reproduction:
CREATE TABLE `fait_mission_date`( `MIS_KEY` varchar(15) DEFAULT NULL, `MIS_DATE` int(11) DEFAULT NULL, `MIS_ID` int(9) DEFAULT NULL, `ORIGINE` varchar(3) DEFAULT NULL, `OUVRE` smallint(6) DEFAULT NULL, `ORG_ID_STRUCTURE_EU` int(11) DEFAULT NULL, `ORG_ID_STRUCTURE_ETT` int(11) DEFAULT NULL, `ORG_ID_ETT` int(11) DEFAULT NULL, `ORG_ID_EU` int(11) DEFAULT NULL, `ORG_ID_FOURNISSEUR_TIERS` int(11) DEFAULT NULL, `MIS_DATE_DEBUT` int(11) DEFAULT NULL, `MIS_DATE_FIN_EFFECTIVE` int(11) DEFAULT NULL, `DATE_ARCHIVAGE` int(11) DEFAULT NULL, `MISSION_MOINS_1J` tinyint(4) DEFAULT NULL, `MISSION_MOINS_2J` tinyint(4) DEFAULT NULL, `MISSION_1J_A_5J` tinyint(4) DEFAULT NULL, `MISSION_2J_A_5J` tinyint(4) DEFAULT NULL, `MISSION_PLUS_5J` tinyint(4) DEFAULT NULL, `MIS_MATRICULE_PIXID` varchar(10) DEFAULT NULL, `FIC_EU_ID` int(11) DEFAULT NULL, `FIC_ETT_ID` int(11) DEFAULT NULL, `ORG_BASE_HEBDO` decimal(4,2) DEFAULT NULL, `ASS_ID_POSTE` int(11) DEFAULT NULL, `NB_JOUR_HEBDO` smallint(6) DEFAULT NULL, `TYPE_COEFF` varchar(50) DEFAULT NULL, `MIS_EVALUATION_GENERALE` smallint(6) DEFAULT NULL, `ORG_CODE_PAYS` varchar(10) DEFAULT NULL, `QTE_RQTH_ETT` double DEFAULT NULL, `QTE_RQTH_EU` double DEFAULT NULL, `MIS_CONTROLE_DOCUMENTS` varchar(1) DEFAULT NULL, `DATE_REPORTING` datetime DEFAULT NULL, `STATUT_REPORTING` char(2) DEFAULT NULL, `DATE_CREATION` datetime DEFAULT NULL, `DATE_MAJ` datetime DEFAULT NULL, `ENRG_A_SUPP` tinyint(4) DEFAULT NULL, `DATE_ARCHIVAGE_BI` datetime DEFAULT NULL) ENGINE=Columnstore DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci ; |
INSERT INTO fait_mission_date SELECT substring(MD5(RAND()*1000000000),1,15), ROUND(RAND() * 1, 0), ROUND(RAND() * 1, 0), substring(MD5(RAND()*1000000000),1,3), ROUND(RAND() * 32000, 0), ROUND(RAND() * 1, 0), ROUND(RAND() * 1, 0), ROUND(RAND() * 1, 0), ROUND(RAND() * 1, 0), ROUND(RAND() * 1, 0), ROUND(RAND() * 1, 0), ROUND(RAND() * 1, 0), ROUND(RAND() * 1, 0), ROUND(RAND() * 127, 0), ROUND(RAND() * 127, 0), ROUND(RAND() * 127, 0), ROUND(RAND() * 127, 0), ROUND(RAND() * 127, 0), substring(MD5(RAND()*1000000000),1,10), ROUND(RAND() * 1, 0), ROUND(RAND() * 1, 0), ROUND(RAND() * 99, 2), ROUND(RAND() * 1, 0), ROUND(RAND() * 32000, 0), substring(MD5(RAND()*1000000000),1,50), ROUND(RAND() * 32000, 0), substring(MD5(RAND()*1000000000),1,10), ROUND(RAND() * 10000000, 5), ROUND(RAND() * 10000000, 5), substring(MD5(RAND()*1000000000),1,1), CURRENT_TIMESTAMP - INTERVAL FLOOR(RAND() * 365 * 24 * 60 *60) SECOND, substring(MD5(RAND()),1,2), CURRENT_TIMESTAMP - INTERVAL FLOOR(RAND() * 365 * 24 * 60 *60) SECOND, CURRENT_TIMESTAMP - INTERVAL FLOOR(RAND() * 365 * 24 * 60 *60) SECOND, ROUND(RAND() * 127, 0), CURRENT_TIMESTAMP - INTERVAL FLOOR(RAND() * 365 * 24 * 60 *60) SECOND FROM seq_1_to_16000000; -- (7 min 21.465 sec) |
Too Slow:
select * from fait_mission_date limit 1; |
10 rows in set (1.979 sec) |
InnoDB would take (0.002 sec), and a different customer via infobright claimed 0.03 sec. vs 8 seconds on columnstore for a limit 10 query.
Columnstore cant be as fast as a transactional system but a performance improvement is requested.
Primary use case I imagine is a GUI or SQL GUI loading some sample data from the table.