Wiele użytkowników jednocześnie - mysql

0

Witam. Jestem początkującym jeśli chodzi o bazy danych. Piszę program w C#, który ma się z łączyć z MySQL za pomocą connectora.
Programu będzie używało około 30 ludzi, być może w tym samym czasie, stąd moje pytanie - czy mysql ma jakieś zabezpieczenia, przed używaniem jednocześnie tych samych danych ?

Chodzi mi o to, czy mam się tym przejmować (tak jak np. przy synchronizacji wątków) czy zostawić to w rękach mysqla?

0

Tak. Zapytanie LOCK TABLES foo READ blokuje tabele foo do odczytu. LOCK TABLES foo WRITE blokuje tabele do zapisu.

To jest "jawne" dzialanie (blokowanie tabel). W mySQL, tabele typu MyISAM sa automatycznie blokowane przez mySQL jezeli mamy do czynienia z zapisem danych. Czyli na czas wykonywania polecenia INSERT tabela jest blokowana. Tabela typu InnoDB nie ma takiego ograniczenia (blokowanie na poziomie wiersza).

Dodatkowo mozesz uzywac transakcji.

0

Czyli rozumiem, że jeśli silnikiem jest myISAM to mogę olać sprawę ?

0

Zalezy co chcesz zrobic. Jezeli masz jakies naprawde newralgiczne dane i nie chcesz aby jednoczesnie kilku uzytkownikow mialo do nich dostep (zapis, odczyt) to stosuj blokowanie tabel do odczytu/zapisu. Jezeli nie - mozesz olac sprawe.

P.S. Transakcje w tabelach MyISAM nie dzialaja.

0

Dzięki serdeczne :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1