Newsgroup: it.comp.lang.delphi
Titolo: Prestazioni DB

Ciao
Premesso che non ho esperienza in delphi, devo sviluppare un programma di
archiviazione documenti.
Al DataBase posso accederci via DSN o DSNLess a seconda dell'installazione
del prodotto ( singolo o rete ).
Mi chiedevo quali sono le prestazioni nel caso impiegassi MSAccess abbinato
con gli oggetti ADO.
Quali sono le differenze sostanziali tra l'oggetto ADO e gli altri che mi
offre delphi6 ?
Consigli ?
grazie ciao!!!

 Consigli ?
1) Abbandonare Access. La roba di zio billy funziona uno schifo.
2) Usare Interbase.
Se hai la ragionevole certezza che non userai un altro db, puoi usare i 
componenti di accesso ai dati ad esso dedicati.
2a) se in azienda sono disposti a spendere un po' di soldini, 
potresi usare Sybase Anywhere; qui lo stra-usiamo e funziona bene.
3) Io userei i blob e non metteri nel db il path della immagine.
Se il numero di immagini è abbastanza alto potresti trovarti un bel collo di
bottiglia dato dall'accesso al file-system del sistema operativo.
4) Indipendentemente dalla tencologia, dimentica l'uso di TTable: 
usa le query.
 
bye
AS
-- 
Posted from  [212.17.220.41] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 usa le query.
si questo è ok.
ciao e grazie per le dritte !!!  :)))

offre delphi6 ?
Gli ADO sono ActiveX, oggetti gia' presenti sotto Windows
2000 o, comunque, scaricabili dal sito Microsoft (siamo alla
versione 2.6).
ADO + Access e' una buona scelta per applicazioni piccole,
considerato che i driver ODBC e gli OLE DB Provider creati
dalla Microsoft, appositamente per il proprio software, sono
abbastanza veloci.
Delphi ti consente di utilizzare Access anche con i propri
driver nativi, cosi' come ti consente di usare ADO (solo
nella versione Enterprise, se non erro).
Forse c'e' qualche problema tra applicazioni Delphi e
applicazioni Visual Basic sull'accesso ai dati, io ho avuto
qualche problema, ma non ho mai approfondito la questione.
Se vai veloce e hai bisogno di realizzare subito la tua
applicazione, affidati per il momento a Access e accedici
tramite ADO. 
Poi, magari, se hai un po' di tempo, studia il funzionamento
di Interbase, che e' il DBMS piu' facilmente utilizzabile da
Delphi.
-- 
The Follet

1) Abbandonare Access. La roba di zio billy funziona uno schifo.
Vabbe', tu sei prevenuto ;)
Comunque Access non e' male per applicazioni piccole, almeno
io l'ho visto funzionare con una ventina di client connessi
in rete e non ha mai dato problemi.  Tutto dipende, a mio
avviso, dal tipo di operazioni che sono richieste su quei
dati.
-- 
The Follet

e cosa mi consigli da usare senza un DBserver ??
XML 
Si', si', proprio lui ;)
-- 
The Follet

 Si', si', proprio lui ;)
sai dove posso reperire esempi ?
grazie ciao!!
Alberto

con i comandi sql, non capisco cosa mi vuoi dire.
Ma hai sempre utilizzato SQL Server.  
E' questo il punto. 
Prova a indirizzare le tue query su un altro DBMS e a vedere
se va tutto liscio. 
Scommetto una birra che rimarrai deluso, a meno che le tue
query non siano veramente molto semplici (benche' con il
grado di semplicita' che penso io, non servirebbero a molto
in un programma serio e minimamente complesso).
Prova, per esempio, a fare un controllo WHERE sulle date con
Access e cercare di utilizzarlo anche sotto Paradox, o
viceversa.  E questo e' un esempio spicciolo.
-- 
The Follet

 query non siano veramente molto semplici
Parole sante :-) ......aggiungo inoltre che spesso non funzionano neppure le
più semplici, ho notato persino differenze nella clausola limit!.....se non
è semplice una limit......
Ciao
Gianni Giusti

 cosa sono i blob ???  :))
Blob: Bynary Large OBject.
In pratica, in un campo blob ci metti cio' che vuoi: viene pero
lasciata a te la interpretazione del dato che gli metti in quanto si tratta
all'atto pratico di un campo non titpizzato.
Bye


 dati.
Questo è vero.
Ma quella storia che usa un unico contatore per indici e relazioni
lo limita troppo. Inoltre, le sintassi sql sono diverse.
Poi, la dimensione massima del file access è 2 gigabyte.
Lo so che puo sembrare tanto, ma mettici dei blob grandi e vediamo
cosa succede.
Anche perche i 2 giga includono indici, relazioni, tabelle di sistema e
quant'altro gli serve.
Bye 


 offre delphi6 ?
Gli oggetti ADOexpress sono utilizzabili solo se sul PC che esegue il tuo
software sono installate le librerie ADO, queste sono degli ActiveX
installabili con MDAC. Win 2000, Me e XP li hanno già installati. Su W95/98
devi proccuparti tu di installarli. (il loro ingombro e i problemi di
cpompatibilità tra versioni non sono affatto minori di quelli del BDE,
anzi!)
P.S. se installi MDAC 2.6 ricorda di prelevare la patch di ADOexpress dal
sito borland, perchè ovviamente cambiando versione.....

 cosa succede.
Molto difficile che si riesca a raggiungere una dimensione
come quella, se un db raggiunge quel limite, c'e' qualcosa
che non va con la normalizzazione dei dati ;)
Poi, per principio, sono contrario ai campi blob grandi nelle
tabelle, secondo me se ne puo' fare sempre a meno, utilizzando
risorse esterne.
-- 
Posted from  [80.105.34.80] 


 risorse esterne.
Un ns cliente ha una applicazione che gestisce immagini.
Le immagini sono registrate in una cartella e nel db un campo
contiene il nome del file.
Adesso le immagini sono 20.000 (usano M$Sql) e il loro reperimento
risulta lento.
Questo non è certo colpa del db ma dei tempi di accesso che 
dipendendono dal file system.
AS
-- 
Posted from  [212.17.220.41] 


dipendendono dal file system.
C'e' modo di ottimizzare anche questo.
Mai pensato, per esempio, di costruire una partizione a
parte in cui siano presenti solo le immagini ?
-- 
The Follet

Stai pensando di usare ODBC? Lo puoi fare sia con BDE che con ADO.
ODBC va particolarmente bene per il fetching di "blocchi" di
record contigui, ma per query molto articolate meglio
evitarlo, rallenta parecchio.
-- 
The Follet

 parte in cui siano presenti solo le immagini ?
Un altro disco fisso potrebbe essere una possibile soluzione,
a patto di testarla.
Ma una partizione credo proprio di no.
Bye


Ma una partizione credo proprio di no.
Io credo di si', ma bisognerebbe provare.
D'altronde e' cio' che si fa, usualmente, con il file di
swap di Windows, per esempio, per accelerare i tempi di
gestione della memoria virtuale.
-- 
The Follet