我经营着一个在线摄影社区,似乎该网站在数据库访问方面陷入了爬行,有时会超时。
我认为自己相当有能力编写 SQL 查询和设计表,但绝不是 DBA ......因此问题。
一些背景:
我的站点和 SQL 服务器正在远程主机上运行。我通过 SQL Server Mgmt 从 Visual Studio 和 SQL 更新 ASP.NET 代码。工作室快车。我没有对服务器的物理访问权限。
我所有存储的过程(我想我都得到了)都包含在事务中。
此时主表只有9400条记录。我每晚向该表添加 12 条新记录。
这个主表上有一个视图,它将其他几个表中的数据汇集到一个视图中。
辅助表是较小的记录,但更多。一个是 70,000,另一个是 115,000。这些是#3 中项目的评论和评分记录。
索引位于最需要的字段上。我将它们设置为自动重新计算大表上的统计信息。
当站点停止运行时,如果我运行代码来清除事务日志、更新统计信息、重建主视图以及重建存储过程以获取评论,速度就会恢复。但是,我必须手动执行此操作。
可悲的是,我的用户对这些问题感到沮丧,他们的参与减少了。
所以我的问题是......在远程环境中,设置和安排维护计划以保持我的 SQL 数据库在其峰值运行的最佳方式是什么?
非常感谢!KLK