» »

MySql locking

MySql locking

terryww ::

Torej, innodb, transakcije dolge po 10min in lock timeout. Kako vi rešujete take probleme?
It is the night. My body's weak.
I'm on the run. No time to sleep.

Miha 333 ::

terryww je izjavil:

Torej, innodb, transakcije dolge po 10min in lock timeout. Kako vi rešujete take probleme?

Z boljšimi (za dejanske poizvedbe bolj relevantnimi) indeksi, tuning mysql nastavitev (npr. velikost začasnih tabel v spominu, ...). Če to ne pomaga (npr. res enormna velikost podatkov, ...), morda innodb (ali mysql sploh) ni najbolj primeren. Ampak ne verjamem, da bi to bil problem, mysql lahko ob pravih nastavitvah in zadostnih sistemskih resursih obdeluje res ogromne količine podatkov in to hitro.

Če ne rabiš vgrajene referenčne integritete, ima myisam boljše performanse.

terryww ::

a ni to bolj za tuning ko že vse laufa? moj problem je, da ena transakcija povzroči fail drugih zaradi lock wait timeouta. mogoče je bolj smiselno vprašat kako handlat locking pri večih dolgih transakcijah.
It is the night. My body's weak.
I'm on the run. No time to sleep.

Miha 333 ::

Da, fine tuning že potem. Ampak če transakcije trajajo tako dolgo, da povzročijo lock timeout, je z nastavitvami nekaj generalno narobe (ali pa je sistem podhranjen za željeno opravilo). Da transakcija ne bi ovirala drugih, je treba poskrbeti, da se čim prej izvede-zaključi in sprosti lock. Treba je najti ustrezne nastavitve (ki jih sistem prenese), ampak najprej je treba imet ustrezne indekse. Treba je imeti nekaj znanja, da veš, katere parametre in kako jih spremljaš, za indekse pa malo igranja z explain statementi ... Če ne veš, kaj delaš pri nastavitvah, lahko kaj hitro sesuješ sistem (počrpaš ves ram ali podobno).

terryww ::

bi mogoče pomagal kater drugi engine, ne innodb, ki ga trenutno uporabljam (z default nastavitvami)?
It is the night. My body's weak.
I'm on the run. No time to sleep.

AndrejS ::

Ustrezno nastavi indexe !

pegasus ::

Če ne znaš delati z indexi, povečaj innodb_lock_wait_timeout.

terryww ::

večanje lock_wait_timeouta pri +8 TS ki vsaka traja okol 10 min nima smisla.
indexi očitno res niso bili primerno nastavljeni: high performance mysql 3rd ed:
189: The problem is even worse when it can't use an index to find and lock the
rows: if there's no index for the query, MySQL will do a full table scan and lock every
row, whether it "needs" it or not.

Cele tabele so bile zaklenjene ker indexi niso bili poštimani. Hjo.. najlepša hvala za hinte!
It is the night. My body's weak.
I'm on the run. No time to sleep.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

XAMPP - mysql

Oddelek: Programiranje
6774 (662) illion
»

MySQL Relacije

Oddelek: Izdelava spletišč
61143 (909) mkos2
»

Large database

Oddelek: Programiranje
161460 (1158) krho
»

Razvijalec MySQL-a izpodbija Oraclov nakup Suna

Oddelek: Novice / Nakupi / združitve / propadi
289261 (8230) AndrejS
»

Backup podatkovnih baz

Oddelek: Omrežja in internet
152186 (1814) jype

Več podobnih tem