DISKLESS TOO BAD PERFORMANCE
Hi Gurus,
have anyone idea why InnoDB perform much faster then NDB within single server (single node) ?
simple table, for 3000000 rows (ID, COL1, COL2)
when I do: UPDATE TEST SET COL1=1;
its took 6ms on NDB vs 1ms on InnoDB.
DataMemory & IndexMemory huge enough,
MaxNoOfExecutionThreads=9
RealtimeScheduler=1
MaxNoOfConcurrentOperations=3100000
accordingly to this config NDB should fly!
What I miss ?
How to reproduce:
1. Create table:
CREATE TABLE `TEST` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`TIME` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`COL1` varchar(45) DEFAULT NULL,
`COL2` varchar(45) DEFAULT NULL,
`COL3` varchar(45) DEFAULT NULL,
`COL4` varchar(255) DEFAULT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `ID_UNIQUE` (`ID`),
KEY `TIME` (`TIME`)
) ENGINE=ndbcluster AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
2. Fill table:
INSERT INTO TEST(COL1,COL2,COL3,COL4) VALUES (1,2,3,4);
3. Insert 3000000 rows:
DELIMITER $$
CREATE PROCEDURE insert_test_data()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i < 3000000 DO
INSERT INTO `TEST` (`COL1`, `COL2`, `COL3`, `COL4`)
SELECT `COL1`, `COL2`, `COL3`, `COL4`
FROM `TEST`
WHERE id = 1;
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
4. Fill tables with rows:
CALL insert_test_data();
5. Perform UPDATE:
UPDATE TEST SET COL1=2;