- Система: Ubuntu 18 - SSD
- MariaDB ColumnStore версия: 1.2.5
- Строки таблицы: 3
Если сравнить таблицу создания Операция, выполненная InnoDB перед ColumnStore, InnoDB запускается в X раз быстрее, чем ColumnStore.
Я выполнил несколько CREATE TABLE с INSERT AS SELECT, используя движок ColumnStore. Результаты очень медленные. Это последовательность:
DROP table IF EXISTS example;
CREATE TABLE IF NOT EXISTS example
(num INT(11),meta DECIMAL(14,4),min INT(11),max INT(11))
ENGINE=columnstore;
INSERT INTO example
(num, meta, min, max)
AS SELECT num, meta, min, max FROM old_example;
-- TIME TO EXECUTE
-- On row affected, taking 2.8s
Теперь рассмотрим, как я поступил с InnoDB
DROP table IF EXISTS example;
CREATE TABLE IF NOT EXISTS example
(num INT(11),meta DECIMAL(14,4),min INT(11),max INT(11))
(SELECT num, meta, min, max FROM old_example);
-- TIME TO EXECUTE
-- On row affected, taking 103ms
Обратите внимание: 1 : я знаю, что на сначала я делаю еще одну операцию, и она отличается, но я провел трассировку, выполняя каждый из разделенных запросов, и обнаружил, что CREATE TABLE с ENGINE = ColumnStore - это та процедура, которая занимает так много времени. Примите к сведению 2 : MariaDB columnstore теперь имеет Операция CREATE AS SELECT .
Учитывая это, вот несколько вопросов:
Вопрос 1 : Есть ли какая-нибудь конфигурация MariaDB ColumnStore, которую я могу сделать, чтобы сделать возможным создание табличной операции, а затем быстрее вставлять данные из другой таблицы? Вопрос 2 : MariaDB ColumnStore быстрее только для выбора?