SQL Server 2008 - Wydajność między bazami danych na tej samej fizycznej maszynie i instancji serwera

12

Czy jest jakiś spadek wydajności podczas wybierania w innym DB na tym samym komputerze fizycznym? Mam więc 2 bazy danych na tej samej maszynie fizycznej działającej w tej samej instancji SQL 2008.

Na przykład w SomStoreProc on_this_db uruchamiam SELECT someFields FROM the_other_db.dbo.someTable

Do tej pory, jak czytałem w Internecie, większość ludzi wskazuje NIE.

użytkownik547
źródło

Odpowiedzi:

13

Nie powinno być widać pogorszenia wydajności podczas wykonywania zapytań między bazami danych w tej samej instancji. Używany jest ten sam analizator zapytań, bufory itp.

Teraz, jeśli spróbujesz tego samego w różnych instancjach SQL na tym samym serwerze, możesz zauważyć wpływ na wydajność. Zapytanie musiałoby zostać przeanalizowane przez dwa różne analizatory zapytań, a do pamięci podręcznych, buforów itp. Wykorzystane byłyby więcej zasobów systemowych. Zmusiłbyś również wyniki do przejścia przez protokół VIA (zakładając, że jest włączony) między instancjami. MS DTC może być zaangażowany, a jeśli uprawnienia są niewystarczające w jednym z przypadków, może zostać utworzony zły (e) plan zapytań.

AndrewSQL
źródło
4

najlepszym narzędziem do sprawdzania tego jest program Profiler + plan wykonania + statystyki IO / CPU. Skopiuj tabelę w pierwszym pliku db i porównaj czas trwania oraz inne statystyki ze statystykami znalezionymi w przypadku tabeli w drugim pliku db. Zobaczysz, czy są jakieś kary.

Osobiście nie widziałem widocznego spadku wydajności podczas odczytywania danych tabel z innych baz danych na tym samym serwerze.

Marian
źródło
lol wreszcie optymalizują zapytania!
user547,