SQL Server 2008 - Cross database performance pada mesin fisik dan contoh server yang sama

12

Apakah ada hit kinerja ketika melakukan pemilihan di DB lain pada mesin fisik yang sama? Jadi saya punya 2 database pada mesin fisik yang sama berjalan dalam contoh SQL 2008 yang sama.

Sebagai contoh di SomStoreProc on_this_db saya menjalankan SELECT someFields FROM the_other_db.dbo.someTable

Sejauh ini dari apa yang saya baca di internet, kebanyakan orang sepertinya menunjukkan TIDAK.

pengguna547
sumber

Jawaban:

13

Anda seharusnya tidak melihat penurunan kinerja ketika meminta di seluruh database pada contoh yang sama. Analyzer query, buffer, dll yang sama sedang digunakan.

Sekarang, jika Anda mencoba hal yang sama di seluruh contoh SQL yang berbeda pada server yang sama Anda bisa melihat dampak kinerja. Kueri harus dianalisis oleh dua analisis kueri yang berbeda dan lebih banyak sumber daya sistem akan digunakan untuk cache, buffer, dll. Anda juga akan memaksa hasil untuk pergi melalui protokol VIA (dengan asumsi itu diaktifkan) di antara instance. MS DTC dapat terlibat, dan jika izin tidak memadai pada salah satu contoh, rencana kueri yang buruk dapat dibuat.

AndrewSQL
sumber
4

profiler + rencana eksekusi + statistik IO / Cpu adalah teman terbaik Anda untuk memeriksa ini. Salin tabel Anda di db pertama dan bandingkan durasi dan statistik lainnya dengan yang ditemukan ketika memiliki tabel di db kedua. Anda akan melihat apakah ada penalti.

Saya pribadi tidak melihat kinerja yang terlihat ketika membaca tabel data dari database lain di server yang sama.

Marian
sumber
lol mereka akhirnya mengoptimalkan kueri!
user547