-2

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

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

如何提高两个表的性能?

请帮帮我。

4

2 回答 2

2

您应该提供更多信息和 EXACT SQL ,这里的任何方式都是一些基础知识(假设使用 SQL)

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

  • 确保只返回所需的列

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

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

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

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

同样,需要更多信息。

于 2013-10-14T03:26:04.627 回答
0

请提供使用过的查询...

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

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

于 2013-10-17T06:27:24.867 回答