>>
> Dunque: tutti i campi in cui posso ricercare sono indicizzati (infatti
> prima nn si muoveva neanche in locale!!). XpUnlimited è una tecnologia
> TerminalServer, ma dovrebbe essere + leggera (in teoria....). Sto anche
> provando l'accesso in multiutenza classico (un FE x ogni client) x vedere
> se c'è differenza.....
> Ho implementato anche il db su SQL server 2005 express (ma x ora solo in
> locale) tramite ODBC e, ovviamente, le prestazioni sono un 'pochino'
> diverse......tranne alcuna, ma sicuramente dovute alla mia scarsa
> conoscenza di SQL server e l'architettura errata
Ciao,
il problema è che access quando lanci una query si carica in locale tutta le
tabelle interessate e dopo effetua la query!
500.000 righe quindi non sono poche!
Forse, le prestazioni degradano sulla seconda interrogazione da parte del
secondo client perchè trova la tabella loccata dal primo ....
Con SQL, hai provato a fare una pass-trough, nella mia esperienza in SQL,
una soluzione la trovi sempre..... perchè hai gli strumenti per verificare
dov'è il collo di bottiglia, tipo guardare l'execution plan della query, che
ti dice il peso in secondi di ogni istruzione che il motore esegue per
rispondere alla tua query.
Le join alla fine sono 2, e non sono tantissime, nel tuo caso è la mole di
dati che aggravia il tempo di esecuzione. Cmq... mi appassionano sempre le
ottimizzazioni di query... per cui seguirò la tua vicenda in attesa che
qualcuno ti dia il consiglio giusto
del db magari... La query te la posto....è una ricerca abbastanza pesante x
il sistema...niente OR solo AND. Intanto grazie.....
>
> *********INIZIO
> SELECT LIBRI_BASE.EAN, LIBRI_BASE.COD_ALT, LIBRI_BASE.AUTORE,
> LIBRI_BASE.TITOLO, LIBRI_BASE.SUB_TITOLO, LIBRI_BASE.GIACENZA,
> LIBRI_BASE.COLLANA, LIBRI_BASE.COLLANA_N, LIBRI_BASE.PREZZO,
> LIBRI_BASE.DISP_DA, LIBRI_BASE.DISP_INT, LIBRI_BASE.DISP_CLESP,
> LIBRI_BASE.SCUOLA, LIBRI_BASE.SPESE_FISSE, LIBRI_BASE.COLLOCAZIONE,
> LIBRI_BASE.ESCLUSO_CARD_COSMO, LIBRI_BASE.ANNO_ED, LIBRI_BASE.ANNOTAZIONI,
> LIBRI_BASE.CURATORE, LIBRI_BASE.ESCLUSO, LIBRI_BASE.VOLUME,
> EDITORI.RAG_SOC_E, TIPO_SCU.DESCRIZIO FROM (LIBRI_BASE INNER JOIN EDITORI
> ON LIBRI_BASE.EDITORE = EDITORI.COD_EDIT) INNER JOIN TIPO_SCU ON
> LIBRI_BASE.SCUOLA = TIPO_SCU.TIPO_SCU WHERE TITOLO LIKE '*mare*' AND
> TITOLO LIKE '*legno*';
> **********FINE
>
> Senza le join è tutto + veloce...ma ho solo i codici degli editori,
> allegati.....e nn le descrizioni....avevo anche pensato di fare un db
> 'piatto'....ma proprio nn mi piace.......
>
> Rigrazie...
>
> --
> Questo articolo e` stato inviato dal sito web http://www.nonsolonews.it