我应该尝试停止隐式转换吗?
Should I try stop Implicit Conversion?
我有一个 table 在数据库中,我不允许编辑它,因为它属于第三方。他们有一个数据类型为 Char(2) 的字段,该字段包含以下值:
01
02
03
04
我还有其他几个 table 具有相同字段和值的物理和临时文件。我正在努力制作一个巨大的 table,它结合了这些 table 之间的数据。但是,当我 运行 代码只选择该字段而不对其执行任何操作时,执行计划会隐式转换为 int。
我不在乎该字段是否为 int,因为无论如何这对我来说更有意义,但执行计划还指出转换
"may affect cardinality estimate"
我遇到此代码的问题运行速度很慢,我认为这可能是问题所在。
我应该尝试找到一种方法来停止转换,还是它可能不会导致我变慢?
编辑:
此列用于联接的额外信息
如果您需要更多信息,请告诉我。
使用 SQL 2012
您可以使用您的 INT ID 和 Char(2) 列(如域 table)创建一个新的 table。
您可以在其他 table 中像 PK 和 FK 这样的 INT 列。因此,您将比较您 table 中的 INT x INT 和 Char(2) x Char(2) 与这个新的 table 和第三方 table。这可能适合你。 (对不起我的英语)
我有一个 table 在数据库中,我不允许编辑它,因为它属于第三方。他们有一个数据类型为 Char(2) 的字段,该字段包含以下值:
01
02
03
04
我还有其他几个 table 具有相同字段和值的物理和临时文件。我正在努力制作一个巨大的 table,它结合了这些 table 之间的数据。但是,当我 运行 代码只选择该字段而不对其执行任何操作时,执行计划会隐式转换为 int。
我不在乎该字段是否为 int,因为无论如何这对我来说更有意义,但执行计划还指出转换
"may affect cardinality estimate"
我遇到此代码的问题运行速度很慢,我认为这可能是问题所在。
我应该尝试找到一种方法来停止转换,还是它可能不会导致我变慢?
编辑: 此列用于联接的额外信息
如果您需要更多信息,请告诉我。
使用 SQL 2012
您可以使用您的 INT ID 和 Char(2) 列(如域 table)创建一个新的 table。 您可以在其他 table 中像 PK 和 FK 这样的 INT 列。因此,您将比较您 table 中的 INT x INT 和 Char(2) x Char(2) 与这个新的 table 和第三方 table。这可能适合你。 (对不起我的英语)