Re: Best connection management
- From: Kerry Moorman <KerryMoorman@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 13 Sep 2007 16:18:04 -0700
Bill,
Aren't you in effect saying that the vast majority of Windows Forms
applications would be better off using classic ADO than ADO.Net?
Kerry Moorman
"William Vaughn" wrote:
Ah no. The JIT approach derails (makes impossible) any number of data access.
strategies that can dramatically improve performance. I know, as I've used
them to decrease query time by 90%. Since the application manages
server-side objects like TempDB lookup tables (used in subsequent query
JOINs), or server-side cursors where I didn't need to use disconnected data
architectures, I was able to write far more efficient and suitable
applications to support more users more quickly with less hardware. Yes, you
can still build server-side cursors using ADO.NET (ANSI cursors) and no,
they are not suitable for all applications. But consider that the vast
majority of Windows Forms applications have to support 20-200 users,
server-side cursors, use of TempDB table index products and other techniques
that require a persistent connection make sense. Microsoft had apps that
supported over 1000 users on a 386/33 using these techniques.And yes, these
applications use multi-threading and in this case I simply open another
connection.
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant, Dad, Grandpa
Microsoft MVP
INETA Speaker
www.betav.com
www.betav.com/blog/billva
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
Visit www.hitchhikerguides.net to get more information on my latest book:
Hitchhiker's Guide to Visual Studio and SQL Server (7th Edition)
and Hitchhiker's Guide to SQL Server 2005 Compact Edition (EBook)
-----------------------------------------------------------------------------------------------------------------------
"Miha Markic" <miha at rthand com> wrote in message
news:%23nsCnwd9HHA.3900@xxxxxxxxxxxxxxxxxxxxxxx
"William Vaughn" <billvaNoSPAM@xxxxxxxxx> wrote in message
news:urZ4xKO9HHA.2004@xxxxxxxxxxxxxxxxxxxxxxx
As I have said many times before, this JIT connection strategy is a "best
practice" for ASP architectures. It is not always (or even usually) the
best choice for "connected" Windows Forms architectures. JIT precludes
use of server-side state management which can dramatically improve query
performance. Consider that each trip to the ConnectionPool requires the
interface to reauthenticate your credentials and reset the
connection--these operations are not free and totally unneeded with
client/server architectures.
Sorry but this statement doesn't hold water. This is the best practice for
winforms client/server apps, too.
1. There are usually not much separate db operations at all and thus
visiting the connection pool once in a while is not a performance hit. OK,
you can start nickpicking that you loose a millisecond in a day.
2. DB operation time compared to "performance hit" is so huge that "perf
hit" might account for 0.00000000000000000000000000000000000001%.
3. When you do multithreading (which I assume you aren't) connection pool
comes in as a great time saver.
4. It is easier to handle connection failures. If it fails due to network
issue (or some other failure unrelated to logic), just (optionally clear
the pool) repeat the operation, no additional code is required.
I am sure there are other benefits as well.
--
Miha Markic [MVP C#, INETA Country Leader for Slovenia]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/
- Follow-Ups:
- Re: Best connection management
- From: William Vaughn
- Re: Best connection management
- References:
- Best connection management
- From: Hornet77
- Re: Best connection management
- From: Miha Markic
- Re: Best connection management
- From: Hornet77
- Re: Best connection management
- From: Miha Markic
- Re: Best connection management
- From: Hornet77
- Re: Best connection management
- From: Robbe Morris - [MVP] C#
- Re: Best connection management
- From: William Vaughn
- Re: Best connection management
- From: Miha Markic
- Re: Best connection management
- From: William Vaughn
- Best connection management
- Prev by Date: Re: Single Quote In A Text Field
- Next by Date: Re: Best connection management
- Previous by thread: Re: Best connection management
- Next by thread: Re: Best connection management
- Index(es):
Relevant Pages
|