Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
UPDATE
... where
IN ( select
from
giovedì 28 giugno 2007 - 08.41
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
erik77
Profilo
| Senior Member
217
messaggi | Data Invio:
gio 28 giu 2007 - 08:41
Ciao ragazzi,
ho l'esigenza di effettuare una UPDATE <nomeTabella1>... where <Chiave> IN ('1','2',etc..)
il problema è che i valori della IN sono presi da una select su una tabella che risiede su di un altra Istanza DB e quindi non posso fare la classica ...
where <Chiave> IN (select <Chiave> from...)
Per aggiornare questi dati ho quindi prima letto i dati con la select e li ho caricati in un DataSet... e poi ciclando sul DataSet ho aggiornato la Tabella un record alla volta.
Il problema è prestazionale... siccome i record della select sono circa 3000... ciclare su 3000 record... per poi andare ad aggiornare un record alla volta... risulta essere molto costoso in termini di tempi.
Vorrei un consiglio su come ottimizzare un aggiornamento simile... su tabelle che risiedono in Istanze DB diverse..
vi ringrazio in anticipo
ciaooo
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 28 giu 2007 - 09:00
>Ciao ragazzi,
Ciao!
>ho l'esigenza di effettuare una UPDATE <nomeTabella1>...
>where <Chiave> IN ('1','2',etc..)
>il problema è che i valori della IN sono presi da una select
>su una tabella che risiede su di un altra Istanza DB e quindi
>non posso fare la classica ...
>where <Chiave> IN (select <Chiave> from...)
>
>Per aggiornare questi dati ho quindi prima letto i dati con la
>select e li ho caricati in un DataSet... e poi ciclando sul DataSet
>ho aggiornato la Tabella un record alla volta.
>
>Il problema è prestazionale... siccome i record della select
>sono circa 3000... ciclare su 3000 record... per poi andare ad
>aggiornare un record alla volta... risulta essere molto costoso
>in termini di tempi.
>
>Vorrei un consiglio su come ottimizzare un aggiornamento simile...
>su tabelle che risiedono in Istanze DB diverse..
Intanto.. che DBMS utilizzi?
poi, due istanze db sono due istanze sullo stesso server? oppure due server diversi? oppure solo due database diversi?
>
>vi ringrazio in anticipo
>
>ciaooo
ciao!
Alx81 =)
http://blogs.dotnethell.it/suxstellino
erik77
Profilo
| Senior Member
217
messaggi | Data Invio:
gio 28 giu 2007 - 09:43
dettaglio meglio :)
utilizzo Sql Server e le istanze DB risiedono sullo stesso server...
in questo momento stavo pensando di crearmi una copia delle tabelle sull'istanza dove effettuare UPDATE .... where <NomeChiave> IN ( SELECT ....
ma non sò se è la soluzione migliore
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 28 giu 2007 - 10:07
>dettaglio meglio :)
>
>utilizzo Sql Server e le istanze DB risiedono sullo stesso server...
quindi, ipotizzando un server SERVER1, tu hai due istanze SQL Server, una SERVER1\MSSQL1 e l'altra SERVER1\MSSQL2 ad esempio?
Alx81 =)
http://blogs.dotnethell.it/suxstellino
erik77
Profilo
| Senior Member
217
messaggi | Data Invio:
lun 2 lug 2007 - 13:40
esatto :)
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 2 lug 2007 - 14:51
>esatto :)
devi aggiungere un linked server, ovvero trattare le due istanze come server differenti..
leggi questo link
sp_addlinkedserver
http://msdn2.microsoft.com/en-us/library/ms190479.aspx
Alx81 =)
http://blogs.dotnethell.it/suxstellino
erik77
Profilo
| Senior Member
217
messaggi | Data Invio:
lun 2 lug 2007 - 16:15
perfetto era una delle soluzioni che immaginavo... ma forse replicare la tabella sull'istanza d'interesse è + veloce
grazie
CIaooo
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 2 lug 2007 - 16:28
>perfetto era una delle soluzioni che immaginavo... ma forse replicare
>la tabella sull'istanza d'interesse è + veloce
in effetti le query cross server cmq hanno un calo di prestazioni..
se il gioco vale la candela, replica l'oggetto che almeno hai la query sullo stesso server.
>
>
>grazie
>CIaooo
Alx81 =)
http://blogs.dotnethell.it/suxstellino
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !