Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak zapobiec łamaniu się wybranych found_rows w warunkach wyścigu?

Istnieją pewne problemy, jeśli chodzi o transakcje, a różne poziomy izolacji zapobiegają im mniej lub bardziej. Opisałem to w mojej odpowiedzi tutaj .
Problem, taki jak na przykład fantomowy odczyt, może wpłynąć na wynik zaznaczenia, tak jak to robisz, tak. Ale wynik SQL_CALC_FOUND_ROWS jest przechowywany zaraz po zakończeniu zapytania i jest tracony, gdy tylko wykonasz inne zapytanie w tej samej sesji. To jest ważna część. SQL_CALC_FOUND_ROWS jest powiązany z sesją . Nie ma możliwości, aby wynik innego zapytania w innej sesji został zapisany w bieżącej sesji. Użycie SQL_CALC_FOUND_ROWS nie podlega warunkom wyścigu. Wynik zapytania SELECT, tak, ale nie wynik FOUND_ROWS(). Nie myl tego.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. darmowy wynik pdo

  2. MySQL wybierz rekordy 1 godzinę temu lub nowsze w kolumnie datetime

  3. Jak uzyskać wyraźny rekord z tabeli mysql?

  4. Jak znormalizować wartości oddzielone przecinkami w kolumnie tabeli, a następnie uruchomić zapytanie?

  5. jak usunąć ukośnik odwrotny (\) w odpowiedzi json za pomocą php?