|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2006
Messaggi: 33
|
[VB6][SQL] chiarificazione generale: figo ma non capisco ;)
Salve ragazzi,
sono da poco alle prese con VB6 ed i databse. Nello specifico sto sviluppando un'applicazione che legge e scrive molto per cui la comunicazione fra VB6 ed il database è un aspetto critico. Per cominciare ho istallato MySQL 5.1 ed il suo connector ODBC. Il tutto funziona abbastanza ma con diverse prestazioni in lettura/scrittura (ho provato vari engine e per ora mi riferisco a myIsam): una query che mi ritorna 200.000 record la carico in 8 secondi (25.000 record/s) mentre a scrivere vado molto più lento: 11500 record in 6 secondi (meno di 2.000 record/s) senza chiavi primarie. Credo di eseguire la cosa nel modo corretto: faccio un for della lunghezza che mi serve e aggiungo al recordset aperto con adLockBatchOptimistic (ma tanto non cambia altrimenti) ogni volta il record che mi interessa. Poi lancio l'UpdateBatch. E' corretto/efficiente? Come secondo aspetto vorrei capire in generale una cosa: è per caso ODBC ad essere lento? Immagino che sia una bella catena di driver da eseguire per il sistema. Ci sono per MySQL dei driver specifici per vari linguaggi? E per VB6? Questi sono veramente più efficienti? Un mio amico dice che scriveva su un DB Access con la vecchia modalità DAO a velocità selevatissime: tipo 10.000 record al secondo (parlo sempre di record di lunghezze comparabili). La cosa veramente figa per me sarebbe se qualcuno mi spiegasse proprio qual'è la differenza fra DAO e ADO, poi qual'è la differenza fra usare un driver specifico per la coppia db-linguaggio ed invece usare ODBC con le relative differenze di prestazioni... insomma ho un'idea un po' vaga. Chi mi aiuta a capire un po' meglio? Grazie mille! Giacomo. |
|
|
|
|
|
#2 | ||
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Dalle domande che fai pare tu non voglia assolutamente considerare l'idea di altri DB... Magari di casa MS. E provare SQL Server, Access ? Tanto se usi VB6, sempre in ambiente Microsoft devi stare, no ? Non so... Queste "prove di velocità" non le ho mi fatte... E comunque MySQL l'ho sempre e solo usato in tandem con PHP ( classico server WAMP... ). Quote:
In soldoni ADO è il "nuovo" ( e ADO.NET è il "nuovissimo" ), e DAO è il vecchio. Se usi Access, prova ADO+Jet. Lascia stare ODBC... E' chiaro che se usi un driver generico, come dici tu stesso, rischi di perdere in prestazioni rispetto ad un driver specifico per una data coppia Linguaggio-RDBMS... Ma qui lo dico, e qui lo nego... |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:05.




















