If you read the internet and all of the
websites dedicated to
Asp.Net you will inevitably read
about the wonders of the DataGrid, DataList, and Repeater
controls. While each of these has its place, if you are only
displaying data there is a much faster and more efficient means
to do so.
Gibson Guitars Let's say you have a page that displays articles based on a
query string. Take my article pages for instance. Each article is
stored in a database and displayed on the page based on the unique
id of the article as stored in the database.
FAST, FUTURE GENERATION Discography Review Your Reviews Good Charlotte FAST, R169.95 ADD TO BAG Fast, Future Generation is a fabulous rockumentary of American pop punk band Good Charlotte s whistle stop tour of Japan in 2005. spectacularly shot live performances of "Lifestyles of the Rich and the Famous", "The Anthem" and "Predictable and loads of candid conversational interviews with Benji (guitar), Joel (vocals), Billy ( keys), Paul (bass) and tour drummer Dean while they meet and greet fans and get to explore the Japanese scene.
Guitar Tuner A normal asp page execution procedure goes something like this.
The code queries the database based on the Article I.D. and then
brings back that information to the page where you display it in
the fashion that you would like. This
is a fairly straight forward approach with asp and is done all the
time.
bizzy_d loads Theres loads of guitars to choose
Bass Guitars So how do we speed up our asp.net pages?
classic POD xt Live guitar amp modeler, with an expanded array of 78 guitar amps, wattage heavyweights to boutique beauties and vintage treasures. With 24 guitar cabs, 98 stompbox and studio effects, 28 bass amps, label studio, ready to tackle guitar, bass vocals and beyond. What¯ more, its larger LCD and smart new editing workflow pages make it easier than ever to find, tweak and save tones.
Les Paul Number 1: Use Asp.Net Caching!
The new BetterCables Reference Guitar cable is the culmination of extensive research in how a guitar cable can be made better. The extremely low capacitance, superior shielding and dielectric material, 4" class in every respect. For unmatched clarity of you guitar tone, our Reference Guitar cable is the pinnacle of performance. While we call it a guitar cable, it works equally well for other amplified instruments such as an electric bass.
Guitar Lessons This is a no-brainer, and I won't go into the brilliance or
details of asp.net caching here because at the time of this writing
Google has 2,780,000 articles on the topic. Basically instead of
querying the database each time the page is loaded you only query
the database once and load that result into the system cache.
Subsequent calls to load the page retrieve the data from the cache
as opposed to the database which gives you an instant and
considerable performance boost. You can then set the cache for how
long the cache should store the information as well as many other
features. If you are not using the cache, you should be whenever
possible!
8. HTML Optimizer Another way to make your page load faster is to compress (or optimize) your HTML code. An HTML Optimizer removes all blank spaces in your HTML code and also removes certain unnecessary tags. On average, an HTML optimizer will reduce the size of your page by 15% to 20%. That percentage may not seem much, but the saving in load time is much higher, as your visitor's browser will parse your page much more efficiently.
Guitar Pro Number 2: If possible, do NOT use the standard Asp.Net
controls.
Bass Guitar That's right. The standard asp.net controls are designed for
rapid development and not page performance. They allow you to
design pages that grab and display data very quickly but their
actual performance suffers because of the extra overhead which is
there for ease and speed of development time and not page execution
speed.
Electric Guitar Instead,
create either a User Control or
even better yet a Web Custom Control which is by far the
fastest performance wise and really quite easy to create and
use.
Acoustic Guitar Number 3: Use an SqlDataReader or even better yet use a set
based command for Sql Server data retrieval and simply execute that
one command against the database.
Teardrops On My Guitar An asp.net SqlDataReader is a fast forward only datareader that
closes the connection after it reads the last set of results. Now
for my article pages we are only returning 1 particular result. In
this case we would opt for the set based command. If you had more
than 1 result returned, in your table of contents for instance, you
would use the SqlDataReader because you are returning multiple sets
of results.
Guitar Strings Set based commands are stored procedures that bring back data
through parameters as opposed to a result set which then in turn
needs to be looped through to obtain your data. So instead of
writing your stored procedure like the following which brings back
1 result set:
Ultimate Guitar Tabs Select Title, Body, Author
From Articles
Where ArtID = 215
Guitar Chord We can write it using a set based command like
this.
Guitar Music Create Procedure mysp_GetArticle
Online Guitar Tuner @Title varchar(200) Output,
@Body varchar(8000) Output,
@Author varchar(500) Output
Classical Guitar As
Guitar Notes Select @Title = Title, @Body = Body, @Author = Author
From Articles
Where ArtID = 215
Gibson Les Paul GO
Guitar Tuning The above query will return only the three parameters called for
and not a result or record set so you don't have to then walk
through the returned record set that has only 1 result in it
anyway. This second little process of work decreases your
performance so you should avoid it whenever possible. Combine this
technique with the asp.net cache.
Guitar Songs Number 4: Use Classes and ArrayLists as opposed to returning
an SqlDataReader.
Guitar Scales Create a class and then if there are more than one set of
results store those results into individual instantiations of that
class. Finally store each of those classes into an
ArrayList. You can then store only that ArrayList into the
asp.net cache. So instead of getting the results back from a
SqlDataReader when loading your page you get them from the
ArrayList which is stored in the cache. Nice huh?
Teardrops On My Guitar Lyrics Finally... you want to incorporate all of these techniques into
your final results which would be performed in the following manner
and sequence.
Guitar Hero Iii On the first time the page loads, query the database and return
all of your data storing it into individual classes. Then store
each of those classes into an ArrayList. If you only have one
single result you may store only the class into the cache. Then
take your ArrayList and store it into the cache.
Martin Guitars Next create a Web Custom Control and pass the cached ArrayList
to the custom control and loop out your data using the
HtmlTextWriter which is very fast. Remember each subsequent call to
load the page will be called from the cache which stores your
ArraList of classes or your single class.
Taylor Guitars Certainly it takes a significant amount of additional coding to
do it in this fashion, especially when you take
proper error handling into consideration, but if you follow this
approach your pages will be screeching fast, you will immediately
notice the difference, and your asp.net pages will execute in the
proper sequence - Data handling in the Page_Load function and the
html display in the Page_Render function.
Guitar World Further, you will be glad you did and so will your
visitors.
Guitar Player Happy Programming!
Discount Guitars About the Author:
John Belthoff is an avid web developer who who writes about
Asp.Net in his spare time. He owns a
Windows
Asp.Net, Asp Web Hosting Company where you can contact him
about hosting your
website/blog or just to learn
more.
Used Guitars John Belthoff is a Professional Audio Engineer and an Avid Web
Developer who plays and also teaches Jazz Guitar in his spare time.
His latest projects include the
Internet
Production Guide and he owns a small
Asp
Hosting Company. You can contact him at his personal web site
Studio
JB.
[ Comment, Edit or Article Submission ]