I'm helping a client with a vertical market web application written in ASP.NET. It uses SQL Server 2005 for the back end. The client is having performance issues with the application and the vendor support has not been very helpful to resolve the issue. So the client brought me to have a fresh set of eyes look at the problem. While doing some basic review of the system and hardware I noticed that a "Maintenance" job was scheduled in SQL Server to run every 15 minutes that performs a DBCC CHECKDB and then a Transaction Log Backup. This job was taking approximately 6 minutes to perform during business hours.
When I questioned the vendor's support staff about was this necessary and could we reschedule the DBCC CHECKDB to once per night, the response was "that was proprietary information and don't touch anything".
What I am basically looking to understand is. Is there a reason why DBCC CHECKDB should be ran every 15 minutes? Besides, the obvious affect while the job is running, how else could running this command affect system performance? For example, does it cause SQL Server to loose what it has in memory?