Condividi tramite


Creazione di una tabella ottimizzata per la memoria

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure

Le tabelle ottimizzate per la memoria sono una funzionalità di SQL Server in cui si trova l'intera tabella in memoria. Una seconda copia dei dati della tabella viene mantenuta su disco. I dati nelle tabelle ottimizzate per la memoria vengono letti dal disco solo durante il recupero del database. Ad esempio dopo un riavvio del server. È possibile creare tabelle ottimizzate per la memoria nella finestra di progettazione tabelle in Azure Data Studio.

Nota

Le tabelle ottimizzate per la memoria devono appartenere a un filegroup. Per altre informazioni, vedere questa documentazione sul filegroup ottimizzato per la memoria.

Le tabelle ottimizzate per la memoria devono avere una chiave primaria non cluster. Per un'introduzione alle tabelle ottimizzate per la memoria, vedere l'articolo Introduzione alle tabelle ottimizzate per la memoria. Inoltre, tutte le tabelle ottimizzate per la memoria devono avere almeno un indice.

Creare una tabella ottimizzata per la memoria

  1. Per creare una tabella ottimizzata per la memoria, è necessario assicurarsi che sia stato creato un filegroup per il database. In Esplora oggetti aprire una nuova finestra dell'editor di query a livello di server perché verrà creato un database completamente nuovo in cui risiederà la tabella ottimizzata per la memoria. Nell'editor di query copiare, incollare ed eseguire il codice seguente:

    CREATE DATABASE imoltp   
    GO  
    
    --------------------------------------  
    -- create database with a memory-optimized
    -- filegroup and a container.
    
    ALTER DATABASE imoltp ADD FILEGROUP imoltp_mod
        CONTAINS MEMORY_OPTIMIZED_DATA;
    
    ALTER DATABASE imoltp ADD FILE (
        name='imoltp_mod1', filename='c:\data\imoltp_mod1')
        TO FILEGROUP imoltp_mod;
    
    ALTER DATABASE imoltp
        SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = ON;
    GO  
    --
    

    Il codice precedente crea un nuovo database, aggiunge un filegroup al database, aggiunge un file al filegroup e infine imposta il livello di isolamento per qualsiasi tabella ottimizzata per la memoria aggiunta al database a SN piattaforma di strumenti analitici HOT.

  2. Creare quindi la tabella aprendo il database imoltp da Esplora oggetti, facendo clic con il pulsante destro del mouse sulla cartella Tabelle e scegliendo Nuova tabella. Verrà aperta la visualizzazione Progettazione tabelle. Assegnare la chiave primaria per questa tabella (assicurarsi che questa chiave primaria non sia clustering deselezionando la casella di controllo Clustered nelle impostazioni chiave primaria)

    Screenshot of Table Designer showing how to create a memory-optimized table with non-clustered primary key.

  3. Nel riquadro Proprietà tabella. Selezionare la casella di controllo Ottimizzata per la memoria. In questo modo si abiliterà l'elenco a discesa durabilità in cui è possibile scegliere se archiviare solo lo schema in memoria o sia lo schema che i dati. Selezionando "Solo schema" viene salvato solo lo schema del database in memoria. Come si può notare nell'immagine seguente, lo script è stato aggiornato in base alle modifiche.

    Screenshot of Table Designer showing Memory-Optimized Table with Schema only configuration.

    Se si sceglie Schema viene salvato solo lo schema in memoria. Se si sceglie Schema e Dati , lo schema e i dati vengono salvati in memoria. Si noti la modifica nello script.

    Screenshot of Table Designer showing schema only memory-optimized table.

Nota

Progettazione tabelle supporta anche indici hash, indici columnstore e possono essere configurati durante la creazione della tabella ottimizzata per la memoria.

Passaggi successivi