Newsgroup: it.comp.appl.access
Titolo: lentezza query mysql

questa query con tabelle in access mi risponde in circa 2 secondi con
tabelle mysql mi risponde forse dopo un minuto.
gli indici sono gli stessi. come mai si comporta in questo modo?
Qualcuno sa darmi una spiegazione
SELECT CartelleNonNotificateArchivio.contatore,
CartelleNonNotificateArchivio.FlagprovenienzaCartella,
CartelleNonNotificateArchivio.FlagTipoAnagrafica,
CartelleNonNotificateArchivio.CognomeORagioneSociale,
CartelleNonNotificateArchivio.Nome,
CartelleNonNotificateArchivio.CartellaConcessione,
CartelleNonNotificateArchivio.CartellaAnno,
CartelleNonNotificateArchivio.CartellaNumero,
CartelleNonNotificateArchivio.CartellaCompleto,
CartelleNonNotificateArchivio.DataScadenzaNotifica,
CartelleNonNotificateArchivio.DataInserimento
FROM CartelleNonNotificateArchivio LEFT JOIN [cartelle con esito
definitivo] ON CartelleNonNotificateArchivio.contatore = [cartelle con
esito definitivo].contatore
WHERE (((CartelleNonNotificateArchivio.DataEliminazione) Is Null) AND
(([cartelle con esito definitivo].contatore) Is Null))
ORDER BY CartelleNonNotificateArchivio.contatore;
ciao e grazie a tutti
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
[CUT]
Stai lavorando in LocalHost...??
Se si è normale, le query che Jet elabora su Access
sono una scheggia se in locale.
Se hai bisogno di Qry veloci ReadOnly su MySQL in rete
usa QRY_PassTrough compilate.
In ogni caso ti accorgi della velocità solo quando stai
lavorando in Multiutenza.
@Alex.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 @Alex.
no sto lavorando in rete con access così come con mysql


 no sto lavorando in rete con access cosě come con mysql
Come Access in RETE....???
MySQL in rete su SERVER, Access lato CLIENT in LOCALE.
Se non usi questa configurazione č un macello.
In ogni caso vedi l'utilizzo di QRY_PASSTROUGH.......!


 @Alex.
access in rete (lan) significa che ho access su un server e mi collego con
i client. ma comunque questo non è importante.
per quanto riguarda i rallentamenti mi riferivo già all'utilizzo da access
di query passtrough. è proprio questo che non riesco a spiegarmi.
secondo me dovrebbe andare molto più veloce una query pass_trough di una
query access specialmente con la mole di dati che tratto (2 tabelle di
circa 30000 record ciascuna)


 circa 30000 record ciascuna)
Come ti faceva notare alex, access sta sui client, mysql sta sul server, non
c'e' altro da definire in questo senso.
le query sono query di selezione semplice o cosa?
sei sicuro che siano paatrough?
che macchina usi come server?
e poi guarda che mysql e' famoso perche' e' free, non perche' e' veloce.
Se usi A2000/XP e hai fino a 5 utenti puoi usare con ottimi risultati MSDE.
Sib

 Sib
le query sono passtrough sicuramente. (il simbolo della query nell'elenco
è il mappamondo)
la macchina è prestazionale anche perchè ho altri db mysql che girano
sulla stessa macchina ma vanno benone.
sul fatto che mysql non sia veloce nonsono daccordo anche perchè non lo
dico io ma l'ho letto su un articolo assai specializzato fatto da
PCPROFESSIONALE che sicuramente è stato scritto da uno che ne sa MOLTO più
di me


 
premesso che 30k record non sono poi così tanti nemmeno per access...
se non sbaglio, mysql ha un pò di limiti nel supporto a sql.
non può essere che, nonostante sia settata come pt, il join nella query 
non venga eseguito dal server ma dal tuo pc?
se provi a eseguire due query pt per le selezioni sulle due tabelle e a 
fare poi il join usando le due query pt, la situazione migliora?
-- 
+-------
| Paolo opg
|
| janickg ( at ) hotmail ( dot ) com
+-------

 di me
Io ti consiglierei di verificare l'applicazione CLIENT-SERVER
non SERVER-SERVER, è fondamentale.
Per quel che riguarda MySQL, non concordo con Sib, è velocissimo
tra quelli provati è a mio parere il più veloce.
C'è però da chiedersi se sia realmente un buon Database.
Chi sviluppa con Database Seri non usa MySQL, che non supporta
transazioni, StoredProcedure, Viste, Relazioni.
Tutto quello che ho citato è quanto richiesto da un RDBMS, in questo
MySQL fa schifo, meglio ACCESS.
Per il fatto di velocità quindi è normale sia veloce non ha nulla...!
MySQL e la gratuità è poi un problema da affrontare in altra sede
io consiglierei di leggere EULA e poi se ne riparla.................!
Per il resto va bene solo come una tabella di EXCEL potente.
RDBMS e MySQL non sono nemmeno parenti, almeno alla versione 4.


 fare poi il join usando le due query pt, la situazione migliora?
In effetti per quello che sò non supporta relazioni, di conseguenza mi
verrebbe
da pensare vengano elaborate in locale, se poi aggiungiamo che il LOCALE
lui lo fa lavorare in rete come applicazione "Web" moltiplichi la
lentezza...............!!!!


 ciao e grazie a tutti
ho risolto ridisegnando meglio gli indici che nonstante fossi convinto di
aver già messo correttamente avevano qualche problema.
ringrazio comunque tutti e spero in ogni caso che questo post possa aver
chiarito cose non proprio semplicissime anche ad altri. a me è servito
sicuramente.
ciao a tutti


 di me
Se e' per questo, io confesso che ho solo dato credito ad altri utenti che
lo usano, non l'ho mai usato personalmente, quindi non ho ne' motivo ne'
titolo per controbattere.
Certo e' che fino al messaggio di alessandro e al tuo che  mysql era molto
veloce non l'avevo mai sentito dire, anzi.
comunque ripeto che lo conosco per sentito direda chi ci lavora, se avro'
modo di provarlo me ne faro' un'opinione.
Ciao
Sib

 Sib
Lascia perdere, se lavori con SQL_Server MySQL non ti sembra
un RDBMS.


 un RDBMS.
Capisco.
Il fatto e' che molto tempo fa' si era diffusa l'opinione che Linux e tutti
i SW che ci girano fossero tutti superiori di molto, molto piu' performanti
e piu' stabili oltre che completamente free.
Poi, provando personalmente ho scoperto che:
- installare linux richiede approfondite conoscenze pure della struttura
fisica dei dati sul disco con notevole dimestichezza con partizionamenti,
mbr e quant'altro e quando hai finito di installarlo devi iniziare a
configurarlo,
- i programmi linux non sono poi cosi' stabili, si bloccano quando devono
esattamente come gli altri,
- i programmi linux sono spesso molto difficili da installare e configurare,
- i programmi linux non sono free.
In questo periodo sono in disputa con mio fratello che e' uno sviluppatore
linux, ma perfino lui concorda col primo punto.
Sib

 Sib
Io mi sono scontrato con Linux, ma forse per mancanza di tempo
e di reale necessità non ho approfondito, ma l'unica cosa utile
è un Firewall con un Server Linux.... He.. He..HE.
Non conosco bene il mondo del pinguino, ma concordo che
di AGGRATISSE c'è poco, quasi nulla.
@Alex.
Ciao @Alex.


 
secondo me, il primo punto è proprio il principale vantaggio di linux...
su windows, siccome l'interfaccia grafica è intuitiva e piuttosto 
completa, è semplicissimo mettere mano a qualsiasi aspetto del so e dei 
suoi servizi e quindi a chiunque sembra di avere il pieno controllo della 
macchina e di quello che fa.
poi ti salta fuori un worm a caso (parlando di db, prendiamo ad esempio 
slapper...) che fa un bel pò di casino, non perchè sia particolarmente 
ingegnoso o il bug sia nascosto e sconosciuto, ma semplicemente perchè 
tanti admin, non sanno fare gli admin.
o meglio, fanno ANCHE gli admin, ma come ruolo riciclato perchè in 
azienda 'sono quelli che capiscono di computer'...
quanto sopra, tenendo presente che usare linux NON VUOL DIRE essere dei 
geni del computer (anzi, se ne vedono delle belle anche tra i sistemisti 
linux...) e che ci sono fior di sistemisti windows che sanno il fatto 
loro.
riguardo al costo dei programmi linux, basta chiarire la differenza tra 
costo della licenza del software e costo dell'installazione...
su win paghi licenze per quasi tutto, ci sono i bei setup che su linux 
non trovi e anche io posso installare quasi qualsiasi server (e si torna 
quindi al primo punto).
su linux, ci vuole qualcuno che sappia il fatto suo (e l'installazione 
non te la fanno gratis...) ma spesso non ci sono licenze da pagare.
alla fine, il costo c'è sempre, solo che è distribuito in maniera 
diversa.
tutto sta nel valutare caso per caso, quale soluzione sia la più 
vantaggiosa.


 vantaggiosa.
sono d'accordo,
non e' che io sia prevenuto nei confronti di linux, tutt'altro.
e' proprio perche' volevo affacciarmi a quel mondo per vederne le
potenzialita' che ho scoperto quanto dicevo.
sicuramente linux ha dei vantaggi, non foss'altro che le licenze terminal
illimitate mentre su win 2003 server te le fanno pagare una per una.
per quanto riguarda il problema della preparazione dei sistemisti non sono
d'accordo.
anche linux consente una installazione a un discreto utente (certamente non
a un "utonto") ma la sicurezza non scaturisce dal fatto che e' bravo chi
installa ma da due separati fattori:
1 a mio avviso (ma e' piu' che un'opinione) i worm, i virus e tutta l'altra
roba e' sviluppata per danneggiare i sistemi win per semplice antipatia o
per vendere sw antivirus,
2 un sistema linux ha tutte le porte chiuse di default, qualsiasi cosa vuoi
fare te la devi aprire a manina (dall'editor di testo) la porta che ti
serve, win, per comodita' dell'utente, ha quasi tutte le porte aperte e se
le vuoi chiudere te le devi chiudere apposta.
Sib

 le vuoi chiudere te le devi chiudere apposta.
Come infatti leggo su alcune pubblicazioni di settore, Win2003 server
presenta una caratteristica innovativa rispetto alle precedenti versioni, la
"features set off by default", ossia: tutte le porte chiuse come
impostazione predefinita.
questo costringera' gli amministratori di sistema a capire quali servizi
stanno attivando e su quali porte devono concentrare la loro attenzione.
sib