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

Zamykać czy nie zamykać połączenia Oracle?

Oto prezentacja slajdów zawierająca zalecane najlepsze praktyki firmy Oracle:

http://www.oracle .com/technetwork/topics/dotnet/ow2011-bp-performance-deploy-dotnet-518050.pdf

Pula połączeń jest automatycznie pobierana podczas tworzenia OracleConnection. W przypadku większości aplikacji warstwy środkowej warto to wykorzystać. Będziesz także chciał dostroić swoją pulę pod kątem realistycznego obciążenia, włączając liczniki wydajności w rejestrze.

Zobacz pomoc online ODP.NET, aby uzyskać szczegółowe informacje na temat puli połączeń. Ustawienia puli są dodawane do ciągu połączenia.

Innym problemem, z którym ludzie często spotykają się w przypadku OracleConnections, jest to, że garbage collector nie zdaje sobie sprawy z tego, jak bardzo są one zasobożerne i nie usuwa ich szybko. Sytuację pogarsza fakt, że ODP.NET nie jest w pełni zarządzany, przez co niektóre zasoby są ukryte przed garbage collectorem. Dlatego najlepszą praktyką jest Close() AND Dispose() wszystkie obiekty Oracle ODP.NET (w tym OracleConnection), aby wymusić ich wyczyszczenie.

Ten konkretny problem zostanie złagodzony u w pełni zarządzanego dostawcy Oracle (wersja beta będzie wkrótce dostępna)

(EDIT:ODP.NET, zarządzany sterownik jest już dostępny.)

Christian Shay

Wyrocznia



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Powiązanie parametrów z Oracle Dynamic SQL

  2. Jak mogę sprawić, by cx-oracle powiązał wyniki zapytania ze słownikiem, a nie krotką?

  3. Uzyskiwanie różnych wyników szyfrowania między C#.Net i Oracle

  4. Oracle:Zmiana kolumny VARCHAR2 na CLOB

  5. ORA-01097