SQL Server 2008: prestazioni incrociate del database sulla stessa macchina fisica e istanza del server


12

Si verificano delle prestazioni quando si esegue una selezione su un altro DB sulla stessa macchina fisica? Quindi ho 2 database sulla stessa macchina fisica in esecuzione all'interno della stessa istanza di SQL 2008.

Ad esempio in SomStoreProc on_this_db eseguo SELECT someFields FROM the_other_db.dbo.someTable

Così lontano da ciò che ho letto su Internet, la maggior parte delle persone sembra indicare NO.

Risposte:


13

Non si dovrebbe vedere la degradazione delle prestazioni quando si eseguono query su database nella stessa istanza. Sono in uso lo stesso analizzatore di query, buffer, ecc.

Ora, se si provasse lo stesso su istanze SQL distinte sullo stesso server, si potrebbe vedere un impatto sulle prestazioni. La query dovrebbe essere analizzata da due distinti analizzatori di query e più risorse di sistema verrebbero utilizzate per cache, buffer, ecc. Si forzerebbe anche i risultati a passare attraverso il protocollo VIA (supponendo che sia abilitato) tra le istanze. Potrebbe essere coinvolto MS DTC e se le autorizzazioni sono inadeguate in una delle istanze, potrebbe essere creato un piano di query scadente.


4

il Profiler + piano di esecuzione + statistiche IO / Cpu sono i tuoi migliori amici nel verificarlo. Copia la tua tabella nel primo db e confronta la durata e le altre statistiche con quelle trovate quando hai la tabella nel secondo db. Vedrai se ci sono penalità.

Personalmente non ho visto un riscontro visibile delle prestazioni durante la lettura dei dati delle tabelle da altri database sullo stesso server.


lol stanno finalmente ottimizzando le domande!
user547
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.