I have a SQL Server database in production and it has been live for 2 months. A while ago the web application associated with it loading takes too long time. And sometimes it says timeout occurred.

Found a quick fix by running a command '`exec sp_updatestats`' will fixed the problem. But I need to be run that one consistently (for every 5 minutes).

So I created a Windows service with timer and started on server. My question is what are the root causes and possible permanent solutions? Anyone?

Here is a Most expensive query from Activity Monitor 

```
WAITFOR(RECEIVE TOP (1) message_type_name, conversation_handle, cast(message_body AS XML) as message_body from [SqlQueryNotificationService-2eea594b-f994-43be-a5ed-d9a47837a391]), TIMEOUT @p2;

```