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
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Accodamento tabelle
sabato 03 novembre 2012 - 14.36
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
Windows 7
|
Windows XP
|
Access (.mdb)
|
Office 2010
|
Office 2007
sagrimal
Profilo
| Junior Member
153
messaggi | Data Invio:
sab 3 nov 2012 - 14:36
Ciao a tutti, vengo subito al sodo
Ho una tabella che contiene 10.000 record, questa tabella è posta su un server ed è collegata ad un data base access, che tramite una maschera inserisce i record nella tabella che chiamerò "PACCHI_01"
il problema è che quabdo apro il data base access impiega un mare di tempo a collegare la tabella, Infatti in basso allo schermo si vede una barra di scorrimento che avanza lentamente, e quando vado ad inserire un record il database si blocca e si sblocca solo quando ha terminato la scrittura del record.
Ho pensato di creare una tabella gemella non collegata ma immessa direttamente nel database, in modo da inserire i record e poi con una macro o una routine accodare i record immessi alla tabella collegata. Ma non so come fare.
Es. Tabella collegata "PACCHI_01" tabella situata nel database "PACCHI" nella tabella pacchi inserisco 10 record, alla fine dell'inserimento con un comando devo accodare i pacchi inseriti nella tabella collegata, poi devo cancellare tutti i record accodati in modo da pulire la tabella PACCHI per poter effettuare un secodo accodamento in modo da non correre il rischio di duplucare i record.
Grazie a tutti
Salvatore
pieroalampi
Profilo
| Expert
816
messaggi | Data Invio:
sab 3 nov 2012 - 16:34
Ciao, secondo me non ha molto senso anche perché se devi immettere più di 10 campi ti trovi a dover aspettare lo stesso del tempo, forse la stessa struttura potrebbe essere modificata e snellita? Non avendo il db non posso giudicare ma la prima domanda e' quanti record crei al massimo ogni volta??? È poi guarda che una soluzione più solida va trovata perché il db non farà altro che crescete
------------------------------------------------------
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA
------------------------------------------------------
renarig
Profilo
| Expert
517
messaggi | Data Invio:
dom 4 nov 2012 - 18:54
>Ho pensato di creare una tabella gemella non collegata ma immessa
>direttamente nel database, in modo da inserire i record e poi
>con una macro o una routine accodare i record immessi alla tabella
>collegata.
Quello che stai meditando è un paliativo che ti potra dare un po di
respiro ma anche tanti problemi
ed è di difficile gestione anche per utenti esperti se hai
accesi multipli alla stessa tabella
____________________________________________________________________
Il tuo problema potrebbe dipendere
__ dal DB che ha pochi indici
__ dal DB che ha troppi indici inutili
__ dalla rete
__ da query progettate male
__ eccetera
_______________________________________________________________________________
Come ben ti ha ricordato
>pieroalampi
>È poi guarda che una soluzione più solida va trovata perché il db non farà altro che crescete
mi sento anch'io di darti lo stesso consiglio,
Forse oggi il problema non è il DB ( non lo sappiamo ancora )
ma prima o poi il problema sarà il DB !!!
____________________________________________________________________________
Ti basta trovare una versione di:
__ SQLServerExpress
__ MySql
__ .... Poi ce ne sono altri
Tutti hanno la versione di base che è legalmente gratuita e utilizzabile
.
sagrimal
Profilo
| Junior Member
153
messaggi | Data Invio:
lun 5 nov 2012 - 16:28
Grazie mille a tutti voi, provo a dire una sciocchezza, posso accodare una tabella ad una tabella di un db senza doverla collegare al mio db ?
Ciao a tutti
Salvatore
pieroalampi
Profilo
| Expert
816
messaggi | Data Invio:
lun 5 nov 2012 - 16:58
Tu poi accodare un intero db ma non risolvi il problema perche lo stesso rimane del db principale in poche parole essendo lento alla base (da vedere il perche? hardware o struttura? ) con l'andare del tempo il prblema non farà altro che diventare sempre più grosso aumentando i tempi in modo inaccettabile, ti consiglio di ruguardare la stuttura dello stesso, eventuali relazioni, agire con delle inner join fra tabelle o cambiare db e pensare ad una macchina server insomma ci sono diverse soluzioni.
CIAO
------------------------------------------------------
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA
------------------------------------------------------
sagrimal
Profilo
| Junior Member
153
messaggi | Data Invio:
lun 5 nov 2012 - 17:11
Ciao grazie innanzitutto per la risposta, in effetti il server è un pc con windows 7 la distanza tra il server ed il client è circa 300 mt. e la lan viaggia su fibre ottiche. Se elimino dalla tabella interessata i record che non servono archiviandoli in una tabella "ARCHIVIO" che consulto solo in caso di interrogazioni statistiche ? In modo che la tabella principale resti sempre di piccole dimensioni.
Grazie mille
Salvatore
pieroalampi
Profilo
| Expert
816
messaggi | Data Invio:
mar 6 nov 2012 - 09:33
Il fatto che la rete sia in fibra non vuol dire molto anche se viaggiasse sul gb, se volessimo essere meticolosi bisognerebbe vedere che tipo di media conv. ci sono collegati, ma tutto questo non ha attinenza mi riferivo all'hw del server il fatto che non hai un server vero e proprio con un db tipo sql quello già rallenta il tutto, ma se proprio vuoi fare una modifica sostanziale puoi creare un file access con i record vecchi ed una procedura notturna che determini e sposti i record quando ritenuti vecchi dall'attuale db a quello di archivio, potresti creare tanti db quanti sono gli anni di gestione e quindi ogni anno creare un nuovo db, stabilendo la politica di gestione nelle connection string, altrimenti non hai via di scampo, sempre che tui non decida di cambiare db e migrare o su my sql o su sql server con un s.o. adeguato e una macchina adeguata.
SE RITIENI CHE LA RISPOSTA SIA RISOLUTIVA CHIUDI IL POST CLICCANDO SU ACCETTA
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA
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 !