MariaDB - Sequenze

Nella versione 10.0.3, MariaDB ha introdotto un motore di archiviazione noto come sequenza. Il suo ad hoc genera una sequenza intera per le operazioni, quindi termina. La sequenza contiene numeri interi positivi in ​​ordine decrescente o crescente e utilizza un valore iniziale, finale e di incremento.

Non consente l'utilizzo in più query, solo nella query originale a causa della sua natura virtuale (non scritta su disco). Tuttavia, le tabelle di sequenza possono essere convertite in tabelle standard tramite un comando ALTER. Se una tabella convertita viene eliminata, la tabella di sequenza esiste ancora. Le sequenze inoltre non possono produrre numeri negativi o ruotare al minimo / massimo.

Installazione di Sequence Engine

L'utilizzo delle sequenze richiede l'installazione del motore delle sequenze, che MariaDB distribuisce come plugin invece che come binario. Installalo con il seguente comando:

INSTALL SONAME "ha_sequence";

Dopo l'installazione, verificalo -

SHOW ENGINES\G

Ricordare che dopo l'installazione del motore, non è possibile creare una tabella standard con un nome che utilizza la sintassi della sequenza, ma è possibile creare una tabella temporanea con un nome della sintassi della sequenza.

Creazione della sequenza

Esistono due metodi per creare una sequenza:

  • Crea una tabella e utilizza l'attributo AUTO_INCREMENT per definire una colonna come incremento automatico.

  • Utilizzare un database esistente e utilizzare una query SELECT di sequenza per produrre una sequenza. La query utilizza la sintassi seq_ [FROM] _to_ [TO] o seq_ [FROM] _to_ [TO] _step_STEP.

Le migliori pratiche preferiscono l'uso del secondo metodo. Rivedi un esempio di creazione di una sequenza fornito di seguito:

SELECT * FROM seq_77_to_99;

Le sequenze hanno molti usi:

  • Individua i valori mancanti all'interno di una colonna per proteggerti da problemi correlati nelle operazioni -

SELECT myseq.seq FROM seq_22_to_28 myseq LEFT JOIN table1 t ON myseq.seq
   = x.y WHERE x.y IS NULL;
  • Costruisci una combinazione di valori -

SELECT x1.seq, x2.seq FROM seq_5_to_9 x1 JOIN seq_5_to_9 x2 ORDER BY 5, 6;
  • Trova multipli di un numero -

SELECT seq FROM seq_3_to_100_step_4;
  • Costruisci una sequenza di date da utilizzare in applicazioni come i sistemi di prenotazione.
  • Costruisci una sequenza temporale.