过滤父或子数据库实体 - 优化

时间:2016-02-02 08:48:49

标签: sql-server tsql

我正在做一些优化,我需要一些关于优化的技术帮助。

考虑以下问题:

SELECT *
  FROM Employees E
  JOIN Data D ON E.idDataType = D.idDataType
WHERE E.idDataType = 1

如果我过滤父表或子表,是否重要(从优化的角度来看)?哪一个会更快?

E.idDataType  = 1 VS D.idDataType = 1

员工

|idEmployee|Name|Data1|idDataType|AttributeValue2
   1         A    X         3              xx
   2         B    T         2              xx
PrimaryKey(idEmployee);
ForeginKey(idDataType) References Data(idDataType);

数据表:

idDataType|Description
   1         etc
   2         etc
   3         etc
   4         etc
PrimaryKey(idDataType);

1 个答案:

答案 0 :(得分:1)

不,没关系,结果会一样。 即使它们具有不同的执行时间,DataBase也会照顾它,因此它将始终以最快的方式执行。

*可能会产生更大的影响。