Newsgroup: it.comp.appl.access
Titolo: [Prestazioni] Access e MySQL/MSDE/SQL Server Express

Ciao a tutti
ho la necessità di migliorare le prestazioni di elaborazione di un 
applicativo e pertanto pensavo di non usare jet come base, ma di usare 
MSDE oppure SQLServer express.. solo che non so per quale strano motivo 
non riesco ad installarli nella lan.. ovvero MSDE si installa.. ma non 
riesco dal client ad accedervi, SQL non si installa (su Win 2003 server)
Pertanto ho provato con Mysql
ho collegato le tabelle via odbc e provato le parti più pesanti del 
programma.. ma ho notato che le prestazioni non sono aumentate, ma 
addirittura diminuite. (ho testato una query con subquery che da 300000 
record ne estrae circa 5000)
è un fattore legato al collegare vi odbc? o è perchè uso MySQL (quindi 
con driver odbc lenti)?
avete qualche suggerimento?
Grazie
ciao
Nick

 avete qualche suggerimento?
non sono esperto ma imho è dovuto a come sono strutturate le tabelle, 
che relezioni hai, tra che campi e come hai impostato gli indici.

 > avete qualche suggerimento?
Premesso che non ho mai utilizzato mySql (e che ti consiglio di risolvere i
problemi d'installazione del Server Microsoft), in genere i Drivers ODBC
cercano d'seguire le query lato server e restituire al Client solo i
risultati.
Ma non è possibile per tutte le query.
Leggi i consigli d'ottimizzazione "standard":
http://support.microsoft.com/kb/128385/EN-US/
Saluti.

 che relezioni hai, tra che campi e come hai impostato gli indici.
Scusami Silver: volevo rispondere a nick nel Thread   ;-)

"Nick" <senz...@chedetesul.NG> ha scritto nel messaggio
news:cFD9h.55262$Fk1.1...@twister2.libero.it...

nick il mio suggerimento, anche in chiave prospettiva futura è quello di
insistere con sql server express o msde che vuoi.
prova a capire bene il perchè della mancata connessione in lan magari
consultando il newsgroup italiano di sql.
credo che li ci siano persone che abbiano già avuto modo di affrontare
problematiche specifiche sulle installazioni.
M
microsoft.public.it.sql

"Nick" <senz...@chedetesul.NG> ha scritto nel messaggio
news:cFD9h.55262$Fk1.1...@twister2.libero.it...

Ciao Nick,
il problema con SQL Server Express potrebbe dipendere dal fatto che richiede
Windows 2003 SERVER SP1?
Per quanto riguarda le prestazioni di quella query in Mysql bisognerebbe
vederla per valutare xchè è più lenta... tieni conto che se usi nella query
funzioni VBA o funzioni sui domini tipo DCount  MySQL e qualsiasi altro db
Server è costretto a passare tutti i dati al motore JET e così si
spiegherebbe xchè è più lento.
-- 
Cinzia
---------------------------------------
|  
http://www.riolab.org
  |
---------------------------------------

Cinzia ha detto: in data 25/11/2006 18.41:

la query non ha dlookup o altre funzioni VBA, ma semplicemente dei 
raggruppamenti (max()) sia nella principale che nella subquery... può 
essere che sia questo?
Grazie
ciao
Nick

ciroteo ha detto: in data 25/11/2006 13.15:

proverò a sentire il NG..
Grazie
Ciao
Nick

Silver ha detto: in data 24/11/2006 17.30:

la tabella è una sola sulla quale girano le query (posto il codice dopo) 
ed è indicizzato per i campi data e codice che sono quelli che mi servono...
ecco la query
SELECT DISTINCT Stock_T.DataStock AS MaxDiDataStock, Stock_T.Codice, 
(IIf(IsNull([Giacenza]),0,[Giacenza])) AS InMagazzino
FROM Stock_T
WHERE (((Stock_T.DataStock)=(select distinct max(datastock) as MaxData 
 From Stock_t as T2 where stock_T.codice = t2.codice)));
ma anche se eseguo la semplice sub query per ottenere l'elenco delle 
date è cmq molto più lento ...
... proverò a vedere se riesco a farlo interagire con msde o sql express...
Grazie
Ciao
Nick

  From Stock_t as T2 where stock_T.codice = t2.codice)));
puoi dire anche che cosa vuoi ottenere con la subquery e la query?
comunque il metodo if impone ad access a trasportare tutta la tabella in 
locale prima di effettuare la query.
il metodo distinct dell asubquery non potresti cambiardlo con un SELECT 
TOP 1 ?
codice è un campo numerico o testo? i campi numerici sono molto più 
prestanti nelle query

Silver ha detto: in data 28/11/2006 16.08:

Codice è un campo di testo (purtroppo)
il iif l'ho tolto e ho creato una vista che mi crea questa soluzione (in 
poche parole mi estrae per ogni codice l'ultima data con la relativa 
giacenza)
e ho notato che la stessa vista in sql server è "lenta" mentre in MSDE è 
una bomba...
per rispondere anche a ciroteo
ho scoperto come mai non vedevo il mio msde quando facevo il 
collegamento, semplicemente non mi aggiornata la lista dei serversql.. 
ma basta inserire manualmente il percorso del server e trova tutto...
quindi ora sto optando per portare tutto sotto msde.. per ora con 
collegamento ODBC.. poi con il tempo passerò a ADP.. ma prima devo 
studiarmeli sti ADP :)
Ciao
Nick