我正在查询两个表之间的连接,请检查下面的例如SQL-列数据类型差异和性能影响
您会注意到用于nTransactionId属性的数据类型之间存在差异。
Table_1
Column Name Data Type
______________________________________
nTransactionld numeric(18, O)
sValue varchar(50)
Table_2
Column Name Data Type
______________________________________
nTransactionld bigint
sValue varchar(50)
在使用数字(18,0)数据类型的“TABLE_1”表,并在“TABLE_2”表,数字(18,0)数据类型被使用。
由于这是可能用于外键关系的属性(请参阅下面的查询),这是否会导致一些性能问题。
SELECT * FROM dbo.Table_1
INNER JOIN dbo.Table_2
ON dbo.Table_1.nTransactionld =dbo.Table_2.nTransactionld
我会感谢您的建议对这个
不太确定的性能..但在存储大小方面,这可能会有所帮助:http://social.msdn.microsoft.com/Forums/sqlserver/en-US/d12a3913-b5ad-44e1-b627-c0f9cad3656c/numeric-vs-int-and-bigint?forum = transactsql –
这是一个实际问题(在这种情况下为什么?)还是只是一个学术问题? – bhs