Ottimizzazione dell'utilizzo delle tabelle temporanee

Completato

Questa unità illustra le tabelle temporanee, i diversi tipi di tabelle temporanee e quando dovrebbero essere usate.

Le tabelle temporanee consentono di creare e pulire in modo efficiente i dati temporanei. I due tipi di tabelle temporanee sono:

  • InMemory
  • TempDB

Il tipo di tabella può essere determinato dalla proprietà TableType della tabella.

Screenshot della pagina della tabella Proprietà che evidenzia la proprietà Tipo di tabella.

Le tabelle InMemory usano un file ISAM (Indexed Sequential Access Method) indicizzato presente a livello client o a livello AOS. Microsoft SQL Server non ha alcuna connessione al file ISAM. I dati vengono archiviati in memoria fino a raggiungere i 128 KB, quindi il set di dati viene scritto su un file su disco a livello server. Vengono create istanze delle tabelle InMemory quando viene inserito il primo record. La tabella è presente e viene allocata memoria a essa solo mentre è presente un buffer dei record.

Una tabella InMemory può essere usata quando è necessario archiviare e recuperare dati senza scrivere dati nel database. Le tabelle InMemory sono come un contenitore, ma consentono di usare gli indici per accelerare il recupero dei dati. Se si usano solo pochi record, è opportuno usare un contenitore, non una tabella InMemory. È possibile usare la sintassi X++ SQL per creare un join di una tabella InMemory, tuttavia join e operazioni SQL sono spesso inefficienti.

Le tabelle TempDB usano il database TempDB di SQL Server. Questo tipo di tabella fa sì che i dati vengano rimossi quando non sono più usati dal metodo corrente o quando il sistema viene riavviato. Le tabelle normali vengono trasformate automaticamente in tabelle TempDB disabilitando la chiave di configurazione per la tabella e ciò consente che i riferimenti alla tabella disabilitata nel sistema continuino a essere compilati ed eseguiti. Inoltre, le tabelle TempDB vengono usate comunemente nei report per manipolare i dati.

Le funzionalità delle tabelle TempDB includono quanto segue:

  • Creazione di join delle tabelle normali.
  • Uso di chiavi esterne.
  • Impiego per società o globale.
  • Disponibilità di indici.
  • Disponibilità di metodi ma impossibilità di eseguire l'override dei metodi.
  • Creazione di istanze dal livello client o server.
  • Uso come query.
  • Assenza di requisiti per una chiave di configurazione.

Le tabelle TempDB hanno inoltre le seguenti limitazioni:

  • Non consentono di gestire i dati con data di validità.
  • Non contengono azioni di eliminazione.
  • La sicurezza a livello di record non è applicabile.
  • Non è possibile usarle nelle viste.