/ / Wewnętrzna praca SQL Server - serwer sql

Wewnętrzna praca SQL Server - serwer sql

Moje pierwsze pytanie jest

Czy serwer SQL działa asynchronicznie lub synchronicznie?

  • jeśli działa asynchronicznie:
    Ile połączeń wstawiania (lub innych) asynchronicznych połączeń może obsłużyć serwer SQL lub czy jest on zależny od pamięci wirtualnej?

  • jeśli działa synchronicznie:
    Ile połączeń synchronicznych może obsłużyć serwer SQL? Czy istnieje kolejka obsługiwana przez program SQL Server dla oczekujących żądań? Jeśli tak, wtedy można obsłużyć liczbę oczekujących żądań.

Odpowiedzi:

4 dla odpowiedzi № 1

Mam nadzieję, że dobrze rozumiem Twoje pytanie ...

Każde wywołanie do bazy danych jest synchroniczne: wywołujesz, czekasz na wynik. Ale asynchroniczny kontra synchroniczny nie jest tak naprawdę jak działa RDBMS

Idąc dalej...

Najważniejsze dla każdego RDBMS jest współbieżność. RDBMS są zaprojektowane do obsługi 1000 połączeń równoległych

Możesz mieć wiele nakładających się i współbieżnych czytników, aż do wyczerpania zasobów serwera.

Tam, gdzie pojawia się pojęcie asynchronicznego kontra synchronicznego, dotyczy zapisu. Są to wyłączne i serializowane (domyślnie) i czytnik blokujący na czas trwania transkrypcji.

Dla zasobów (niektóre uogólnienia tutaj, co czyni je susektami :-)

  • Przepustowość zapisu jest określana przez przepustowość IO głównie i ilość przez projekt kodu
  • Odczyt w całym jest ograniczony głównie przez sieć / procesor i projektowanie kodu.
  • Pamięć nie powinna być normalnym problemem, ponieważ dane w pamięci podręcznej są współużytkowane
  • W praktyce, słaby kod lub projekt wpływa na zużycie zasobów, z wyjątkiem dużych DB / obciążenia

Na przykład słabe indeksowanie jest jednym z największych zabójców wydajności bazy danych