繁体   English   中英

SQL Server Express性能问题

[英]SQL Server Express performance issue

我知道我的问题听起来很愚蠢,可能没人会给出完美的答案,但是由于我对这种情况一无所知,因此让我感觉更好。

所以...

我有一个500 Mb的SQL Server Express数据库。 它包含5个表,可能还有30个存储过程。 该数据库用于存储文章,并用于Developer It网站。 通常,网页加载速度很快,例如2 ou 3秒。 但是,sqlserver进程在这2或3秒钟内使用了100%的处理器。

我试图找到问题所在的存储过程,但找不到。 似乎每一次读到表中dans都包含文章(大约有155,000,每15分钟添加20个左右)。

我添加了一些索引但没有运气...

是因为表是全文索引的吗? 我应该用主键而不是日期订购吗? 我按日期排序从来没有任何问题。...应该使用动态SQL吗? 是否应将主键添加到文章的URL中? 我应该将多个索引用于单独的列还是一个大索引?

我想要更多详细信息或代码位,只需提出要求。

基本上,每个小提示都值得赞赏。

谢谢。

如果未使用您的索引,则通常表明以下两个问题之一:

  1. 不可保留的谓词条件,例如WHERE DATEPART(YY, Column) = <something> DATEPART WHERE DATEPART(YY, Column) = <something> 在函数中包装列会削弱或消除优化器有效使用索引的能力。

  2. 输出列表中未覆盖的列,如果您习惯于编写SELECT *而不是SELECT specific_columns的习惯,则很有可能。 如果索引不覆盖您的查询,则SQL Server需要对每一行逐一执行RID /键查找,这可能会大大降低查询速度,以至于优化器只是决定执行表扫描。

看看其中一种是否适合您的情况; 如果您仍然感到困惑,建议您使用有关架构,数据和缓慢查询的更多信息来更新问题。 对于SQL数据库,500 MB很小,因此这应该不会很慢。 还要发布执行计划中的内容。

使用SQL事件探查器捕获应用程序中使用的许多典型查询。 然后通过索引调整向导运行探查器结果。 这将告诉您可以添加哪些索引以进行优化。

然后查看性能最差的查询,并手动分析其执行计划。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM