2013-10-14 13 views
-2

我有2个表格,其中有50列以上,150,000行以上。这两个表都在关系(主键和外键)中。如何提高SQL Server中的表性能

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

我如何提高两个表的性能?

请帮我一把。

+1

如果您需要一些帮助,我们将需要更多信息。查询,您正在使用的DBMS等。 – Linger

+0

您可以将表格归一化为多个表格。修剪旧的行..紧凑/缩小数据库以删除任何空白区域。 – Leptonator

回答

2

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

  • 请确保您有对每个表定义的索引。

  • 确保只返回所需的列

  • 确保数据类型是在FK/PK一样(如果你的FK是合乎逻辑的)

  • 尽量不要在WHERE使用功能 - 有时你会得到性能下降,如果你做

  • 尽量不要使用,或者在 - 有时你会得到性能下降,如果你做

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

再次,需要更多信息。

0

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

请确保您有对每个表定义的索引和它们用于在通过查询子句后立即在哪里。请不要在查询中使用Select *,而只使用所需的列和子查询。只对where子句中的特定条件运行查询,该子句返回行数减去所有表记录。在这两个表中保留使用的键列的数据类型相同。

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