?
Solved

SQL 2008 CLR Trigger to update memory cache in ASP.NET application

Posted on 2010-09-21
4
Medium Priority
?
973 Views
Last Modified: 2012-05-10
Hello All,

I have a web page (ASP.NET)  requesting constantly data from the server by querying db.

Problem is that there are lots of requests and db is heavily loaded by the queries.

So I was thinking about creating static list (some kind of cache) inside ASP.NET app.  containing record from queried table.
All the requests would read directly from that cache.
Now I need a good way to update list after update is done on db. table.

I was thinking about CLR trigger with some remoting to ASP.NET app.

However it's quite complex (not even sure how to do it yet) maybe some of you has a better (easier) solution?

I'm using .NET 4.0, SQL 2008 Web ed.

Thanks a lot for any ideas
0
Comment
Question by:kheim2008
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 11

Expert Comment

by:Larissa T
ID: 33729728
I depends what type of information you want to save in this "cache" and how often it needs is changed, and how fresj it needs to be

One generic option would be;
define each of your "cached" objects in DB as table with columns  cacheID (unique), loadDate, updateDate, plus some other metadata, for example list of tables/columns it depends on

All updates in you database need update "updateDate" when one of the objects that define your cache is updated.

In your application, before you read data from cache you will to get cacheID.updateDate  from database, compare it  with date in application cache, and use data from memory  or update cached object from DB if dates are different before you use it.


There are many variation depending on how often your update data and how fresh data your application needs. In this case you can just update cache on demand or by schedule.
0
 

Author Comment

by:kheim2008
ID: 33729868
I'm afraid that updates happens too often to query for the updates every time.
I think CLR trigger is the solution - my main question is what is the best way to "transfer" CLR trigger data into ASP.NET app.
0
 
LVL 11

Accepted Solution

by:
Larissa T earned 2000 total points
ID: 33730324
If updates happens too often, your design can produce more load on database, then just running queries. In addition to that you need to worry about synchronization.
In other words you are trying to create  copy of database inside your .NET application and updated this copy anytime database is updated.

You may better spend you time optimizing queries and DB design
Here are details about CLR triggers with samples.
http://msdn.microsoft.com/en-us/library/ms131093.aspx
0

Featured Post

Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
If you have heard of RFC822 date formats, they can be quite a challenge in SQL Server. RFC822 is an Internet standard format for email message headers, including all dates within those headers. The RFC822 protocols are available in detail at:   ht…
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…

801 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question