Newsgroup: it.comp.appl.access
Titolo: collaborazione a pagamento mysql+access query pass-through

cerco professionista con partita iva 
esperto mysql - access query pass-through 
 
Ho un database client con tabelle collegate a diversi beckend collocati su un server in rete
 
il problema che prima o poi mi aspettavo è la lentezza dovuta al numero di record elevato dopo l'utilizzo del database da 3 anni circa
 
per diminuire i tempi di attesa e non avere costi di database futuri credo che l'unica soluzione sia trasformare i backend in mysql e poi da access inviare query pass-through gestendo la paginazione
 
Grazie.

SQL_SERVER Express è gratuito ed è una valida alternativa che puoi considerare.
 
https://www.microsoft.com/it-it/sql-server/sql-server-downloads
 
 
Credo tuttavia sia utile tu riesca ad appoggiarti ad un professionista, in quanto quello che hai ipotizzato come soluzione in realtà è un poco più da analizzare..., diciamo che hai banalizzato molto il problema che ha estensioni decisamente differenti.
Giusto per capirci una Q_PT è readOnly, e si usa principalmente per sfruttare ed eseguire delle SP create Server Side con il comando "EXEC sp e, ma se le Query o le interrogazioni su Viste sono ottimizzate non hanno cali prestazionali verso le Q_PT, e sono R/W... 
 
99 volte su 100 il problema è nelle Query basate sulle Linked Table, che vengono scritte male.
Esempio:
SELECT * FROM T1 
WHERE Nome LIKE '* & FORMS!NomeForm!NomeTtxtBox & *'
 
Questa query per chi sa di cosa si parla, è da evitare, proprio non va usata... e si potrebbero fare altri 100 esempi di cose da NON FARE, DLookUp ed altre Funzioni tipiche del VBA ma non del Motore, Funzioni Client Side ecc...
 
Quindi, a mio avviso l'idea di base è giusta, la soluzione che hai prospettato magari è meglio approfondirla bene e lasciarla a chi ha la piena competenza.
 
@Alex


perchè mysql per curiosità e non sql server?
 
BFS
 
-- 
Questa email è stata esaminata alla ricerca di virus da AVG.
http://www.avg.com
 
 


SQL_SERVER Express è gratuito fino ad una certa dimensione in gb e poi diventa a pagamento o mi sbaglio?


Non ho capito granché, gli argomenti che hai esposto mi sono sconosciuti
il mio obiettivo finale è migliorare notevolmente le prestazioni di visualizzazione elenco record in maschere continue attraverso la paginazione e la richiesta di N record per volta
con la possibilità di editare uno di questi record per visualizzazione, modifica, cancellazione eccetera da parte di più utenti in rete


ma di quanti e quali dati parliamo?
se attualmente usavi access come BE non credo si parli centinai di 
tabelle con di milioni di record
 
inoltre, da quello che scrivi, non risolvi con le sole QPT. Come ti 
scrive Alessandro vanno riviste tutte le parti del programma che fanno 
richieste ai dati. per evitare l'errore di usare funzioni di 
aggregazione di access o predicati sql che verrebbero risolti dal client 
e non dal server rendendo quindi inutile la migrazione.
 
BFS


una query particolarmente lenta è una query unione di circa 10 tabelle  che visualizza nella form 11000 record circa residenti sul server, i tempi di attesa sono anche di un minuto
prima che si apra la form
 
secondo voi tenere solo i record dell'anno in corso nel be e archiviare in una copia del be i record più vecchi è una strada percorribile?

Hai un metodo di approccio che non funziona... e ti.confermo che hai bisogno di essere guidato tecnicamente.
Le UNION non si fanno clientside ma si scrive una SP  o sinsfrutta T-SQL se servono azioni particolatri, e quelle sicuramente si lanciano con q_pt ma solo per eseguire la Stored lato server.
 
SQL_EXPRESS 2019 arriva a 10Gb in termini di dimensioni, le limitazioni sono più che altro sulla potenza di calcolo capacità di sfruttare multi-core ma come dice BSF se ora usi Access parliamo di una differenza spaziale che nemmeno si riesce a comprendere.
Tuttavia come risulta palese non hai chiaro la vera e sostanziale differenza di come si struttura uno sviluppo su server RDBMS e ti concentri su concetti sostanzialmente parziali e secondari nel concreto.
Fatti dare supporto tecnico da chi padroneggia questi aspetti non ti inventare capace, e non per sminuire ma perché queste cose sono meno semplici di quanto si pensi e serve esperienza per avere una visione funzionale di insieme.
 
Chiudo qui la mia è opinione personale non insisto.
 
@Alex


Grazie tante per la lezioncina, e per la diagnosi psicologica "non ti inventare capace" secondo te, se non ne ero consapevole di aver necessità di supporto lato server ero qui a postare questo post in cerca di un professionista a pagamento? ...."dici non per sminuire" no figurati è come mettere uno al muro e fucilarlo e poi dirgli "non era per infierire"
Sono sconcertato...
 
Ci sono altri professionisti che cortesemente si attengano alla richiesta di questo post senza offendere?
Si valutano proposte grazie.


11000 record non sono nulla per sql server se decidi di migrare
 
a titolo di esempio una stored procedure di unione di 8 tabelle in sql 
server mi viene elaborata in 2 secondi con 40.000 record di risultati
 
https://i.imgur.com/5eNHasA.png
 
 
bisognerebbe sapere quanti record hanno ogni una delle 10 tabelle e che 
calcoli fanno e sopratutto che indici hai messo perchè 11000 credo siano 
poco o nulla anche per Access come BE. ma non usandolo da una vita non 
posso confermartelo.
se ogni sottoquery ha una where su campi non indicizzati oppure hai 
qualcosa tipo  ...where dato like=*" & me.miovaloreinmaschera & "*
le prestazioni vanno a farsi benedire non essendo access un client-server db
 
 
 > secondo voi tenere solo i record dell'anno in corso nel be e 
archiviare in una copia del be i record più vecchi è una strada 
percorribile?
 
dipende dallo scenario.
movimentassi milioni di record l'anno forse...
e se non hai esigenze di cercare dati a cavallo di due anni...
è una strada che non ho mai preso in considerazione personalmente per 
gli scenari dei miei clienti.


 Si valutano proposte grazie.
 
Non fare il pierino, ognuno ha l'autostima che si merita... ma se non hai la competenza, per tua stessa ammissione, per cosa ti offendi...?
Se faccio una torta che fa schifo la faccio assaggiare al pubblico ed uno mi dice che fa schifo mica gli dico che è uno stronzo... se fa schifo ha ragione lui.
Il problema è mio che devo avere l'intelligenza di accettare la critica ed usarla per crescere... altrimenti posso autoconvincermi di essere un grande chef da solo, ma non mi devo confrontare con nessuno se non voglio sentirmi dare giudizi. 
 
Saluti
@Alex