ADO langsam??



  • hallo,
    ich entwickel gerade eine DB-Anwenung unter BCB6. für die DB-Anbinung benutze ich die TADOConnection-komponente.
    jetzt hab ich gemerkt, dass der datenaustausch(oder was auch immer) viel zu langsam ist.
    ich greife mit TADOQuery auf eine(!) tabelle, mit läppischen 6500 datensätzen zu, und es dauert ganze 7 sek. bis die daten zur verfügung stehen.
    habe statt der TADOQuery auch die TADOTable-komponente ausprobiert, aber das dauert genau so lange.
    das problem ist, dass einige tabellen irgendwann an die mio. datensätze haben werden 😡 ; tja, aber 1-2 minuten warten ist nicht akzeptabel.
    ich greife überigens auf eine MS-SQL DB zu. und die selbe abfrage im queryAnalyzer dauert _höchstens_ ne sekunde.
    sind die DB-komponenten wirklich soo langsam?
    und andere komponenten (z.b. dbExpress) unterstützen kein MSSQL.

    hat irgendjemand verbesserungsvorschläge

    danke
    karin



  • habe gerade herausgefunden, dass es so langsam ist, weil die verwendete connection in einem anderen formular ist (mein hauptformular).
    das soll aber auch so bleiben , damit ich bei einem DB-wechsel nicht 20 connections änern muss,usw

    weiss jemand wiso das dann so langsam ist??

    karin



  • Hallo Karin,
    ists wirklich der eigentliche Datenaustausch oder
    hinterher die Aufbereitung der Daten in Grids o.ä. ??

    Ich arbeite zwar nicht mit MS-SQL sondern mit mySQL als DB darunter , habe aber
    zumindest in der Hinsicht keine wirklichen Probleme !!
    Wilfrid



  • ich habe folgendes ausprobiert:
    ich habe nur noch meine TADOQuery (ohne verbindung zum DataSource!!!), und meine Connection.
    sobald ich nun die eigenschaft Active der TADOQuery auf true setzte (auch im design-modus), dauert es ewig(wenn die connection im hauptform ist)
    es werden also keine dfaten angezeigt;
    also wirklich nur der datenaustausch.
    benutze ich die (test-) connection im selben formular, habe ich die daten innerhalb 'ner sekune.

    karin



  • Original erstellt von <karin>:
    benutze ich die (test-) connection im selben formular, habe ich die daten innerhalb 'ner sekune.

    Im selben Formular wie was?



  • so, bin wieder 'n kleines stück weiter.
    und zwar hab ich die vermutung, dass wenn man mit mehrern TADOQuery/TADOTables auf eine TADOConnection zugreift (aber keine aktionen mit den komponenten ausführt, sonder lediglich die Eigenschaft Active(der querys/tables) auf true steht), die performance der Connection in die knie geht.
    es sind so mittlerweile ca 20 komponenten die auf die eine connection zugreifen, aber es wird immer nur mit einer wirklich gearbeitet(da die anderen formular meist zu sind)

    jemand erfahrungen damit??

    karin



  • Hi Karin,

    ich benutze das Ganze eigentlich ganz ähnlich, sogar noch über DLL-Grenzen hinweg ohne Probleme..
    Ich habe auch im Mainform eine Connection die ich nach ANmeldung an der DB öffne und dann an meine einzelnen Querys (TADOQuery) weitergebe..
    Dort greife ich dann mit tqry->Open() auf die Daten zu..
    Probleme mit Zugriffsgeschwindigkeiten habe ich (bis jetzt zumindest) nicht !
    Ändert das Umschalten von tqry->Prepared irgendwas ??



  • Hi,

    und welche Provider hast du in ConnectionString ???
    MSSQL = Microsoft OLE DB Provider for SQL Server


Anmelden zum Antworten