Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Gabbro
    Registrato dal
    Nov 2000
    Messaggi
    828

    [mysql] innodb e insert e update lente

    Salve,
    finalmente sono riuscito a passare una mia tbl da myisam a innodb e in effetti ora le select di centinaia di persone su questa tbl (da 1 milione di records) sono molto veloci e non mi posso lamentare. al contrario le insert risultano + lente di prima e mi chiedevo se esiste un metodo per velocizzarle.

  2. #2
    Utente di HTML.it L'avatar di Gabbro
    Registrato dal
    Nov 2000
    Messaggi
    828
    up

  3. #3
    dovrebbe essere il contrario, visto che le insert e le update su myIsam bloccano tutta la tabella, mentre su innoDB solo le righe interessate.

    InnoDB necessita di più risorse, controlla di aver dato abbastanza risorse per gestire i vari log.

    Se invece parli di insert e update inserite all'interno di transazioni, è normale avere un po' di rallentamento, dovuto all'overhead delle transazioni (a fronte di enormi vantaggi, ovvio).

  4. #4
    Utente di HTML.it L'avatar di Gabbro
    Registrato dal
    Nov 2000
    Messaggi
    828
    Originariamente inviato da skidx
    dovrebbe essere il contrario, visto che le insert e le update su myIsam bloccano tutta la tabella, mentre su innoDB solo le righe interessate.

    InnoDB necessita di più risorse, controlla di aver dato abbastanza risorse per gestire i vari log.

    Se invece parli di insert e update inserite all'interno di transazioni, è normale avere un po' di rallentamento, dovuto all'overhead delle transazioni (a fronte di enormi vantaggi, ovvio).
    ho inserito queste righe dentro my.cnf

    innodb_data_file_path = ibdata1:50M:autoextend
    innodb_buffer_pool_size=500M
    innodb_additional_mem_pool_size=50M
    innodb_log_file_size=80M
    innodb_log_buffer_size=20M
    innodb_flush_log_at_trx_commit=1


    Li ho inseriti dopo aver letto la guida su innodb su mysql.com
    per ora ho passato solo una tbl a innodb, la cui dimensione è sui 300 mb.
    Devo forse modificare i paramentri che ho inserito?

  5. #5
    Originariamente inviato da Gabbro
    ho inserito queste righe dentro my.cnf

    innodb_data_file_path = ibdata1:50M:autoextend
    innodb_buffer_pool_size=500M
    innodb_additional_mem_pool_size=50M
    innodb_log_file_size=80M
    innodb_log_buffer_size=20M
    innodb_flush_log_at_trx_commit=1


    Li ho inseriti dopo aver letto la guida su innodb su mysql.com
    per ora ho passato solo una tbl a innodb, la cui dimensione è sui 300 mb.
    Devo forse modificare i paramentri che ho inserito?
    di configurazione non me ne intendo, mi spiace.
    Magari passa qualcuno che ne sa più di me.

  6. #6
    Utente di HTML.it L'avatar di Gabbro
    Registrato dal
    Nov 2000
    Messaggi
    828
    cmq io non uso le transazioni ovvero ho lasciato le stesse query che utilizzavo prima per myisam negli script php, visto che ho l'autocommit.
    potrebbe essere questo il problema di lentezza?

  7. #7
    Originariamente inviato da Gabbro
    potrebbe essere questo il problema di lentezza?
    non credo, come ti dicevo tendenzialmente le InnoDB sono più veloci delle MyIsam (a meno che uno non faccia solo SELECT).

    Così senza conoscere l'applicazione penserei alla configurazione, ma nel dettaglio non so dirti, mi spiace.

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.