Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Kod intensywnie korzystający z asynchronicznych operacji we/wy działa wolniej niż kod nieasynchroniczny, dlaczego?

Wersja asynchroniczna zawsze będzie wolniejsza niż wersja synchroniczna, gdy nie będzie współbieżności. Wykonuje tę samą pracę, co wersja nieasynchroniczna, ale z niewielkim obciążeniem dodanym do zarządzania asynchronią.

Asynchronia jest korzystna pod względem wydajności, ponieważ umożliwia lepszą dostępność. Każde pojedyncze żądanie będzie wolniejsze, ale jeśli wykonasz 1000 żądań jednocześnie, implementacja asynchroniczna będzie w stanie obsłużyć je wszystkie szybciej (przynajmniej w pewnych okolicznościach).

Dzieje się tak, ponieważ rozwiązanie asynchroniczne umożliwia wątkowi, który został przydzielony do obsługi żądania, powrót do puli i obsługę innych żądań, podczas gdy rozwiązanie synchroniczne wymusza, aby wątek tam siedział i nie robił nic podczas oczekiwania na zakończenie operacji asynchronicznej. Struktura programu w sposób, który pozwala na uwolnienie wątku do wykonania innej pracy, wiąże się z dodatkowymi kosztami, ale zaletą jest to, że ten wątek może wykonać inną pracę. W twoim programie nie ma innej pracy do wykonania w wątku, więc kończy się to stratą netto.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle porównuje znacznik czasu z datą

  2. Oracle :wybierz maksymalną wartość z różnych kolumn tego samego wiersza

  3. Film:Wydajność kolumny Oracle 12c IDENTITY w systemie RAC

  4. Zaokrąglanie do 2 miejsc po przecinku w SQL

  5. ORA-28001:Hasło wygasło