首页 > 解决方案 > 使用不同数据类型连接表(优化)

问题描述

我创建了一个视图,可以在其中查看产品的整体生命周期。我想添加另一个表格来提供更多信息。我遇到的问题是我要加入的表具有不同的数据类型 PK。在连接级别转换数据类型会导致性能问题。

有没有办法我可以以不同的方式编写查询,以避免在我的 SQL 连接过程中避免全表扫描?

a.Productid - 数据类型是 varchar
b.ProductID - 数据类型是 bigint

Select a.productid,
 a.Productname, 
 a.location,
 a.date,
 b.loanamount
from viewtable a 
 left join table b 
 on a.productid = convert(varchar(10),b.productid)

加入前的执行时间为 3 分钟。加入和转换后的时间为 6 分钟。我想让它接近 3 分钟的执行时间。

标签: sqlsql-serverleft-joinsqldatatypes

解决方案


推荐阅读