2013-08-06 12 views
8

Sono molto nuovo a MySQL. La mia domanda potrebbe essere sbagliata, se è corretta, correggila o spiegala.Differenza tra la tabella dell'heap e la tabella temporanea in MySQL?

Ho appena letto sulla tabella Heap e sulla tabella temporanea cercando la definizione su Google. Qual è la differenza esatta tra loro e quale utilizzo in tempo reale di entrambi?

Come per la mia conoscenza o quello che ho letto:

Heap tavolo: Le tabelle che sono presenti nella memoria sono chiamati come tabelle heap. Quando si crea una tabella HEAP in MySql, l'utente deve specificare il TIPO come HEAP. Queste tabelle sono ora più comunemente note come tabelle di memoria. Queste tabelle di memoria non hanno mai valori con tipo di dati come "BLOB" o "TEXT". Usano indici che li rendono più veloci.

Tabella temporanea: le tabelle temporanee potrebbero essere molto utili in alcuni casi per mantenere i dati temporanei. La tabella temporanea è che verranno eliminati al termine della sessione client corrente.

risposta

8

Come indicato dall'utente, le tabelle temporanee sono valide solo durante la sessione mentre le tabelle heap sono presenti in memoria. Quindi una tabella heap può esistere per un lungo periodo se non si riavvia il database.

La tabella temporanea verrà eliminata non appena la sessione si disconnette.

Le tabelle temporanee non sono condivise tra i client, le tabelle heap sono condivise. Quindi per ogni connessione la tabella temporanea è univoca, per una seconda connessione non esistono le tabelle temporanee di un'altra connessione.

Per le tabelle temporanee è necessario un privilegio speciale (creare una tabella temporanea) mentre le tabelle heap sono solo un altro motore di archiviazione.