MariaDB - Последовательности
В версии 10.0.3 MariaDB представила механизм хранения, известный как последовательность. Его ad hoc генерирует целочисленную последовательность для операций, а затем завершается. Последовательность содержит положительные целые числа в порядке убывания или возрастания и использует начальное, конечное значение и значение приращения.
Он не позволяет использовать в нескольких запросах, только в исходном запросе из-за его виртуального (не записываемого на диск) характера. Однако таблицы последовательности можно преобразовать в стандартные таблицы с помощью команды ALTER. Если преобразованная таблица удалена, таблица последовательности все еще существует. Последовательности также не могут давать отрицательные числа или вращаться по минимуму / максимуму.
Установка Sequence Engine
Использование последовательностей требует установки механизма последовательностей, который MariaDB распространяет как плагин, а не двоичный файл. Установите его с помощью следующей команды -
INSTALL SONAME "ha_sequence";
После установки проверьте это -
SHOW ENGINES\G
Помните, что после установки движка вы не можете создать стандартную таблицу с именем, использующим синтаксис последовательности, но вы можете создать временную таблицу с именем синтаксиса последовательности.
Создание последовательности
Есть два метода создания последовательности -
Создайте таблицу и используйте атрибут AUTO_INCREMENT, чтобы определить столбец как автоинкремент.
Используйте существующую базу данных и используйте запрос SELECT последовательности для создания последовательности. В запросе используется синтаксис seq_ [FROM] _to_ [TO] или seq_ [FROM] _to_ [TO] _step_STEP.
Лучшие практики предпочитают использовать второй метод. Просмотрите пример создания последовательности, приведенный ниже -
SELECT * FROM seq_77_to_99;
Последовательности имеют много применений -
Найдите отсутствующие значения в столбце для защиты от связанных проблем в операциях -
SELECT myseq.seq FROM seq_22_to_28 myseq LEFT JOIN table1 t ON myseq.seq
= x.y WHERE x.y IS NULL;
Постройте комбинацию ценностей -
SELECT x1.seq, x2.seq FROM seq_5_to_9 x1 JOIN seq_5_to_9 x2 ORDER BY 5, 6;
Найти кратные числа -
SELECT seq FROM seq_3_to_100_step_4;
- Создайте последовательность дат для использования в таких приложениях, как системы бронирования.
- Постройте временную последовательность.