[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Charles A. Lackman

8/16/2005 8:33:00 PM

Hello,

I have an application that is using ODBC drivers that are eating VERY Large
amounts to computer resources when performing queries against a database.
When the application first starts the query is performed at an acceptable
rate, but after the first query if another one is performed it can take up
to 30 minutes to return 31,000 records.

The ODBC Connection and Objects are being closed and/or destroyed each time
a query is finished. When I look at the Driver Log File I see that about
100 or more files and multiple processes are attached to the driver when it
starts.

Is there a way, that when the user selects a new search criteria, that the
application terminates and then restarts itself?

If so, is there a way in VB.NET code (in a click event) to cause this to
happen?


Thanks,

Chuck


3 Answers

William \(Bill\) Vaughn

8/16/2005 10:12:00 PM

0

What is the user doing with 31,000 rows?

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________

"Charles A. Lackman" <Charles@CreateItSoftware.net> wrote in message
news:%23GNFaGqoFHA.1480@TK2MSFTNGP10.phx.gbl...
> Hello,
>
> I have an application that is using ODBC drivers that are eating VERY
> Large
> amounts to computer resources when performing queries against a database.
> When the application first starts the query is performed at an acceptable
> rate, but after the first query if another one is performed it can take up
> to 30 minutes to return 31,000 records.
>
> The ODBC Connection and Objects are being closed and/or destroyed each
> time
> a query is finished. When I look at the Driver Log File I see that about
> 100 or more files and multiple processes are attached to the driver when
> it
> starts.
>
> Is there a way, that when the user selects a new search criteria, that the
> application terminates and then restarts itself?
>
> If so, is there a way in VB.NET code (in a click event) to cause this to
> happen?
>
>
> Thanks,
>
> Chuck
>
>


Charles A. Lackman

8/16/2005 10:56:00 PM

0

Hello,

The interface that they are using displays all the rows from the database in
a datagrid and also allows for sorting, and individual record selection
(from the grid and also an interface which allows for type ahead searches on
Last Name, Phone Number, etc also, the entries in the database are all
capital and I format the returned data after I retrieve it - which takes
about 2 seconds). The salesmanager wants to see everything, but the salemen
only see what belongs to them. The problem occurs when they see ALL the
records then refines them based on a single salesman then wants ALL of them
again (A view would speed this up, but there is still the problem with the 3
minutes wait to retrieve them). Under normal circumstances they will only
see theirs and never need to see ALL of them.

The issue is waiting 3 minutes to get ALL the records. When retrieved by
salesman number only takes about 15 seconds. If the Salesmanager sends
multiple queries they will have to wait over 30 minutes to get the records
from the database because of resources.

IBM told me that I was getting the records in the most efficient way
possible (after 2 weeks of consulting them), but that each query uses
massive resources from the computer. Most of the salesmen are using
notebook computers.

Anyway, I answered my own question, but if you are familuar with a better
way of making this work (faster). I would be very interested in hearing
your suggestions.

Thank you for your time.

Chuck


"William (Bill) Vaughn" <billvaRemoveThis@nwlink.com> wrote in message
news:eq3SG%23qoFHA.860@TK2MSFTNGP12.phx.gbl...
What is the user doing with 31,000 rows?

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________

"Charles A. Lackman" <Charles@CreateItSoftware.net> wrote in message
news:%23GNFaGqoFHA.1480@TK2MSFTNGP10.phx.gbl...
> Hello,
>
> I have an application that is using ODBC drivers that are eating VERY
> Large
> amounts to computer resources when performing queries against a database.
> When the application first starts the query is performed at an acceptable
> rate, but after the first query if another one is performed it can take up
> to 30 minutes to return 31,000 records.
>
> The ODBC Connection and Objects are being closed and/or destroyed each
> time
> a query is finished. When I look at the Driver Log File I see that about
> 100 or more files and multiple processes are attached to the driver when
> it
> starts.
>
> Is there a way, that when the user selects a new search criteria, that the
> application terminates and then restarts itself?
>
> If so, is there a way in VB.NET code (in a click event) to cause this to
> happen?
>
>
> Thanks,
>
> Chuck
>
>



William \(Bill\) Vaughn

8/17/2005 5:02:00 PM

0

I doubt if the Sales Manager wants to "see" all of these rows at once, but
would rather perform operations that encompassed all (or many or selected)
rows. He/she might want to scroll through a list of all rows but would
settle for waiting .02 seconds between fetches of the next page--especially
if it was done behind the scenes. When we perform operations on a lot of
rows, we use the server--not cached client-side data. For example, if they
want to sort by a couple of fields, we perform the sort on the server and
page through the results. We might build a server-side cursor to do this,
but with servers being as fast as they are now those are often unneeded. If
they want totals and subtotals we now can draw on a reporting solution that
does it for us without a lot of code. Reporting Services can perform many of
these operations very quickly and let the manager see the data in a variety
of ways--without bringing a single row to the client. Generally, we build
applications that don''t return the database contents to the client. We
design the indexes and fetch mechanisms to leverage the server''s ability to
quickly fetch smaller sets of rows. We use the right tool for the job.

hth
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________

"Charles A. Lackman" <Charles@CreateItSoftware.net> wrote in message
news:OW4VrWroFHA.1088@TK2MSFTNGP14.phx.gbl...
> Hello,
>
> The interface that they are using displays all the rows from the database
> in
> a datagrid and also allows for sorting, and individual record selection
> (from the grid and also an interface which allows for type ahead searches
> on
> Last Name, Phone Number, etc also, the entries in the database are all
> capital and I format the returned data after I retrieve it - which takes
> about 2 seconds). The salesmanager wants to see everything, but the
> salemen
> only see what belongs to them. The problem occurs when they see ALL the
> records then refines them based on a single salesman then wants ALL of
> them
> again (A view would speed this up, but there is still the problem with the
> 3
> minutes wait to retrieve them). Under normal circumstances they will only
> see theirs and never need to see ALL of them.
>
> The issue is waiting 3 minutes to get ALL the records. When retrieved by
> salesman number only takes about 15 seconds. If the Salesmanager sends
> multiple queries they will have to wait over 30 minutes to get the records
> from the database because of resources.
>
> IBM told me that I was getting the records in the most efficient way
> possible (after 2 weeks of consulting them), but that each query uses
> massive resources from the computer. Most of the salesmen are using
> notebook computers.
>
> Anyway, I answered my own question, but if you are familuar with a better
> way of making this work (faster). I would be very interested in hearing
> your suggestions.
>
> Thank you for your time.
>
> Chuck
>
>
> "William (Bill) Vaughn" <billvaRemoveThis@nwlink.com> wrote in message
> news:eq3SG%23qoFHA.860@TK2MSFTNGP12.phx.gbl...
> What is the user doing with 31,000 rows?
>
> --
> ____________________________________
> William (Bill) Vaughn
> Author, Mentor, Consultant
> Microsoft MVP
> www.betav.com/blog/billva
> www.betav.com
> Please reply only to the newsgroup so that others can benefit.
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
> __________________________________
>
> "Charles A. Lackman" <Charles@CreateItSoftware.net> wrote in message
> news:%23GNFaGqoFHA.1480@TK2MSFTNGP10.phx.gbl...
>> Hello,
>>
>> I have an application that is using ODBC drivers that are eating VERY
>> Large
>> amounts to computer resources when performing queries against a database.
>> When the application first starts the query is performed at an acceptable
>> rate, but after the first query if another one is performed it can take
>> up
>> to 30 minutes to return 31,000 records.
>>
>> The ODBC Connection and Objects are being closed and/or destroyed each
>> time
>> a query is finished. When I look at the Driver Log File I see that about
>> 100 or more files and multiple processes are attached to the driver when
>> it
>> starts.
>>
>> Is there a way, that when the user selects a new search criteria, that
>> the
>> application terminates and then restarts itself?
>>
>> If so, is there a way in VB.NET code (in a click event) to cause this to
>> happen?
>>
>>
>> Thanks,
>>
>> Chuck
>>
>>
>
>
>