Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [MySQL] Errore su Tabella ENGINE=MEMORY;

    Salve,
    non riesco a venire a capo di questo broblema:

    ho da inserire in una Tabella del tipo "engine=MEMORY"

    15.000.000 di record con 3 colonne
    -------------------------------------
    Numero CHAR(12);
    Operatore CHAR(4);
    Data DATETIME();


    faccio:

    codice:
    INSERT INTO my_table_memory (Numero, Operatore, Data)
    SELECT Numero, Operatore, Data FROM my_table_myisam;
    ma al 600.350 record mi dice "Tabella piena..."

    COME MAI ???

  2. #2
    Beh.... visto che le tabelle di tipo MEMORY vengono salvate (la parte dei dati) nella memoria RAM del server, suppongo tu abbia raggiunto il limite massimo oltre il quale impalli la memoria.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    ma sai cosa succedeva....

    dato che non esiste un parametro di Default in "EasyPHP2.0" della quantità massima da potere allocare in RAM, mi limitava ad una quantità molto bassa, poi ho trovato in una ricerca che si deve aggiungere il parametro: "max_heap_table_size = 1000M" chiaramente 1000 ho deciso io dato che ho 2Gb di RAM metà la lascio per la tabella,
    ora funziona tutto alla perfezione,
    solamente che le performanca non cambiano, sono identiche a quelle delle tabelle "MyIsam",

    cosa devo fare per ottimizzare le SELECT in cosi tanti record apparte ad una indicizzazione con Chiave primaria ???

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da w_t
    solamente che le performanca non cambiano, sono identiche a quelle delle tabelle "MyIsam",
    Come fai a dirlo?

  5. #5
    Originariamente inviato da w_t
    solamente che le performanca non cambiano, sono identiche a quelle delle tabelle "MyIsam",
    beh, prova a mettere tutti quei record su tabelle myisam su un server che lavora e poi vedi se le performance sono identiche o meno

  6. #6
    Originariamente inviato da luca200
    Come fai a dirlo?
    ho fatto 3 tipi di QUERY su 15.000.000 record sia nella tabella "MyIsam" che su "MEMORY" e devo dire che impiegano il solito tempo in "millisecondi".

  7. #7
    Originariamente inviato da w_t
    ho fatto 3 tipi di QUERY su 15.000.000 record sia nella tabella "MyIsam" che su "MEMORY" e devo dire che impiegano il solito tempo in "millisecondi".
    se il server non fa nulla e ci sta il caching delle query è attivato e tiri fuori piccoli gruppi di roba allora è normale che impieghino tempi simili o uguali

    Fai quest'operazione su una macchina carica e controlla se li c'è differenza

  8. #8
    ho fatto il test in una macchina dove stavo importando nuovamente in una tabella di copia i 15.000.000 recodr, il processore era impegnato al 97%,
    ma il risultato non e' cambiato.

  9. #9
    Originariamente inviato da w_t
    ho fatto il test in una macchina dove stavo importando nuovamente in una tabella di copia i 15.000.000 recodr, il processore era impegnato al 97%,
    ma il risultato non e' cambiato.
    Guarda io ultimamente non ho dovuto realizzare sistemi che avevano grosso carico, ma qualche tempo addietro ho dovuto realizzare un sistema che per velocizzare le operazioni utilizzava delle tabelle su memory e ci stavano dentro 2 milioni di records ... li la situazione era abb. particolare

    ma come mai stai tentando di importare 15 milioni di records li dentro? considera che queste tabelle non sono fatte per contenere una marea immensa di dati bensì per gestire continue operazioni di aggiornamento. Possibilmente non noti differenza per via della cache perché con la cache abilitata, una volta che estrai i dati, e non li cambi, li hai in cache

    Non è che tu importi i record li per avere una specie di cache in memoria dei dati? questa operazione la fa già lui tramite la cache delle query

  10. #10
    infatti ..!!
    ok, mi sa che non la usero in definitiva,

    ti ringrazio molto per il consiglio, ciao a presto!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.