![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 19.01.2008 Ostrzeżenie: (0%)
|
Załóżmy że mamy skrypt który dodaje wpisane Imię do bazy, a jeżeli to imię już istnieje to go wyświetla (nie dodaje ponownie)
I Hmm zastanawia mnie jedno, gdy załóżmy 50 osób w tej samej sekundzie wyśle to samo zapytanie do bazy danych. Czy nic się nie wysypie.. ? Czy nie powielą się rekordy? Swojego czasu w pewnej książce czytałem o podobnej sytuacji i była tam pewna funkcja, która kolejkowała zdarzenia. Ale nie mogę tego znaleźć już wertuję 6x raz książkę. |
|
|
|
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Może chodzi o blokowanie tabeli poprzez transakcje? Tylko po co w takim prostym przypadku. Prościej założyć klucz UNIQUE na imieniu i użyć INSERT ... ON DUPLICATE KEY IGNORE (IMG:style_emoticons/default/smile.gif) Tudzież INSERT IGNORE. Tak więc kwestia rozwiązania jest zależna od skomplikowania problemu.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 24 Dołączył: 4.12.2010 Ostrzeżenie: (0%)
|
jak thek wyżej pisał + 50 zapytań/sek. przy takim prostym zapytaniu nie ma znaczenia, zawsze któreś było pierwsze i w tej kolejności są obsługiwane, problem pojawia się przy bardzo skomplikowanych zapytaniach i wysokim limicie jednoczesnych połączeń do bazy, wtedy można trafić co najwyżej na timeout serwera WWW, php ale baza jak baza działa dalej
|
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 22:40 |