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

Trwałe a nietrwałe — Którego powinienem użyć?

Przy stałych połączeniach:

  • Nie można skutecznie zbudować przetwarzania transakcji
  • niemożliwe sesje użytkownika na tym samym połączeniu
  • aplikacje nie są skalowalne. Z czasem może być konieczne jego rozszerzenie i będzie to wymagało zarządzania/śledzenia trwałych połączeń
  • jeśli skrypt, z jakiegokolwiek powodu, nie mógł zwolnić blokady na tabeli, to kolejne skrypty zostaną zablokowane na czas nieokreślony i należy zrestartować serwer db. Korzystając z transakcji, blok transakcji przejdzie również do następnego skryptu (używając tego samego połączenia), jeśli wykonanie skryptu zakończy się przed zakończeniem bloku transakcji itp.

Trwałe połączenia nie dają niczego, co można zrobić z nietrwałymi połączeniami.
W takim razie, po co ich w ogóle używać?
Jedynym możliwym powodem jest wydajność, aby używać ich, gdy jest to obciążenie związane z tworzeniem łącza do Twój serwer SQL jest wysoki. A to zależy od wielu czynników, takich jak:

  • typ bazy danych
  • czy serwer MySQl znajduje się na tym samym komputerze, a jeśli nie, jak daleko? może być poza siecią lokalną/domeną?
  • jak bardzo przeciążony przez inne procesy maszyna, na której znajduje się MySQL

Zawsze można zastąpić trwałe połączenia połączeniami nietrwałymi. Może to zmienić wydajność skryptu, ale nie jego zachowanie!

Komercyjny RDMS może być licencjonowany na podstawie liczby jednoczesnych otwartych połączeń i tutaj trwałe połączenia mogą nie działać



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Połącz Metabase z MySQL w celu eksploracji danych

  2. używanie zmiennej środowiskowej do lokalnej konfiguracji sekwencjonowania

  3. Porównywanie ciągów, z których jeden ma wcześniej puste spacje, a drugi nie

  4. Optymalizacja wyszukiwania MySQL za pomocą polubień i symboli wieloznacznych

  5. Czy kolejność kolumn w instrukcji SELECT wpływa na szybkość zapytań?