FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Flitig postare
|
Jag bytte nyss från MyISAM till InnoDB i min MySQL-databas men nu har jag märkt att INSERTs går extremt långsamt (tex 1 sekund i en tom tabell utan några index).
Jag har mätt i PHP med mico_time. Vet ej hur tillförlitligt det blir men med MyISAM mäter jag upp hundradelar eller tusendelar, så nog är det skillnad. Måste man använda transaktioner med InnoDB, dvs lägga till START TRANSACTION; och COMMIT; vid varje fråga, eller kanske konfigurera databasen på något sätt om man inte kör transaktioner? Kör version 5.1.41 på Ubuntu. |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Har WN som tidsfördriv
|
Nej, du måste inte använda transaktioner med InnoDB. Det ska fungera precis som med MyISAM. Du ska inte behöva göra några ändringar i koden vad jag vet.
Väldigt konstigt att det tar så lång tid. Men du gör en hel transaktion när det tar så lång tid eller? Borde ju inte ta så mycket längre tid dock... |
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Flitig postare
|
Verkar som att det är konfigurationen av InnoDB som strular, jag har nog ett alldeles för lågt värde på innodb_buffer_pool_size, men det finns inget standard-värde angivet i my.cnf och om jag anger värden så tar det oerhört lång tid att starta om mysql och jag får felmeddelanden om att InnoDB ej är konfigurerat...
Edit: Var finns dessa inställningar för InnoDB om de inte finns i my.cnf? Senast redigerad av andi den 2010-12-21 klockan 14:12 |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Administratör
|
Citat:
För att ändra buffer pool size så måste du dumpa din data först och sen ta bort mysql:s datafiler. Detsamma gäller ett par andra inställningar. Om du inte gör det kommer inte innodb motorn att kunna gå igång, och därav ditt felmeddelande. För att inte använda transaktioner sätter du autocommit till 1. För bra insert speed kan du även anpassa flush_log_at_trx_commit.
__________________
eldefors.com - Personlig (teknik)-blogg |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Flitig postare
|
Jo, jag har hittat lite olika conf-filer och guider för InnoDB-parametrarna. Kunde bara inte göra några ändringar men ska testa att ta bort datafilerna, Tack!
|
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
Testa med att köra i Workbech och ämför, jag har inga prolem med manuella insert i Workbechen även om jag kör en hel drös manuella INSERT i rad. och jag kör InnoDB.
Kan det vara något med connectionhanteringen gentemot PHP som strular? |
||
![]() |
![]() |
Svara |
|
|