如何提高SQL Server中的表性能

时间:2013-10-14 03:18:16

标签: sql sql-server performance

我有2个表超过50列,超过150,000行。这两个表都在关系(主键和外键)中。

我想运行查询来从两个表中获取记录,但执行需要很多时间。

如何提高两个表的性能?

请帮帮我。

2 个答案:

答案 0 :(得分:2)

您应该提供更多信息和EXACT SQL,这里有任何基础知识(假设使用SQL)

  • 确保在每个表上都定义了索引。

  • 确保只返回所需的列

  • 确保FK / PK上的数据类型相同(如果您的FK合乎逻辑)

  • 尽量不要在WHERE中使用函数 - 如果你这样做会导致性能下降

  • 尽量不要在WHERE中使用OR - 如果你这样做会导致性能下降

  • 获取执行计划并查看是否使用了索引。

同样,需要更多信息。

答案 1 :(得分:0)

请提供二手查询......

确保在每个表上都定义了索引,并且在传递的查询中的Where子句之后立即使用它们。请不要在查询中使用Select *,而是仅使用所需的列和子查询。仅针对where子句中的特定条件运行查询,该子句返回较少的行数而不是所有表记录。在两个表中为您使用的键列保留相同的数据类型。

检查执行计划并查看是否使用了索引。