Radek Ołdak

Radek Ołdak Spec. ds.
informatyki,
Castorama

Temat: ślimacze InnoDB

Witam,

Mam taki problem,
Migruję mysql 4 na 5 i jeśli chodzi o inserty do tabel MyISAM to jest ok ale kiedy inserty są do InnoDB to po prostu wszystko stoi w miejscu. Co zabawne mam testowego, zwykłego peceta z tą samą konfiguracją bazy i tam inserty wykonują się normalnie. System linux.

konto usunięte

Temat: ślimacze InnoDB

Radek Ołdak:
Witam,

Mam taki problem,
Migruję mysql 4 na 5 i jeśli chodzi o inserty do tabel MyISAM to jest ok ale kiedy inserty są do InnoDB to po prostu wszystko stoi w miejscu. Co zabawne mam testowego, zwykłego peceta z tą samą konfiguracją bazy i tam inserty wykonują się normalnie. System linux.

Witam.

Wyłącz Auto-commit?

Pozdrawiam
Rafał
Marcin K.

Marcin K. Programowanie jest
moim powołaniem,
Alleluja

Temat: ślimacze InnoDB

Momencik.

Autocommit musi być włączony, bo inaczej stawia daną tabelę w tryb locked na czas zapisu i każdy dodatkowy INSERT czeka na odblokowanie czyli zakończenie poprzedniej operacji. I tak jest w każdym systemie transakcyjnym bez względu na baze danych czy to MySQL, SQL SERVER, POSTGRES itp...

No chyba, że w kodzie aplikacji jest wcześniej utworzony BEGIN oraz COMMIT, w co wątpie skoro było wcześniej na MYISAM i aplikacja zapewne jest wiekowa ;).

Zapraszam do lektury:
http://dev.mysql.com/doc/refman/5.0/en/innodb-and-auto...Marcin Kossak edytował(a) ten post dnia 19.11.08 o godzinie 04:35
Radek Ołdak

Radek Ołdak Spec. ds.
informatyki,
Castorama

Temat: ślimacze InnoDB

Witam,

baza jest wykorzystywana do intranetu firmowego i jest mixem tabel myisam i innodb. Do tej pory chodziła na mysql 4 i większych problemów nie było a teraz się nawarstwiają :) z innodb na razie pozbyłem się problemu w hmm ryzykowny sposób czyli ustawiłem innodb_flush_log_at_trx_commit na 0 ale teraz jest problem z robieniem update na tabelach myisam ponieważ podczas update tabela wchodzi w tryb locked i tak zostaje a mało tego, po tym inne tabele też wchodzą w ten tryb (czy to select czy insert, obojętne).Prawdopodobnie jest coś nie tak z konfiguracją my.cnf ale brakuje mi pomysłów.

edit

te locki nie są jednak regułą..... raz są a raz ich nie ma. ale jak już są to trzeba po prostu killować procesy bo trwają w nieskończoność.Radek Ołdak edytował(a) ten post dnia 21.11.08 o godzinie 12:39
Marcin K.

Marcin K. Programowanie jest
moim powołaniem,
Alleluja

Temat: ślimacze InnoDB

bez znaczenia jest mix tabel o róznym engine czy to MyISAM czy InnoDB. Możliwy jest błąd konfiguracji bazy danych. W wersji 5.0.32 był błąd przy wysokim obciążeniu tabeli. Baza na dłuższą chwile przechodziła w stan uśpienia.
Musisz jeszcze raz poprzeglądać zapytania SQL do bazy czy są zgodne z MYSQL 5. Jeśli zabraknie pomysłów zamień wszystkie tabele na MyISAM. Nie polecam, ale tak najszybciej pozbędziesz się problemu.

ALTER TABLE nazwa_tabeli ENGINE=MyISAM; (lub InnoDB)Marcin Kossak edytował(a) ten post dnia 21.11.08 o godzinie 13:26
Radek Ołdak

Radek Ołdak Spec. ds.
informatyki,
Castorama

Temat: ślimacze InnoDB

Tyle że przejście na MyISAM nie wchodzi w grę. Ale przyjrzałem się trochę bliżej konfiguracji i jest prawdopodobnie "przewartościowana" i stąd biorą się chyba problemy. Sprawdzę też zapytania.

Następna dyskusja:

Oracle wywala InnoDB z bezp...




Wyślij zaproszenie do