sql - 使用不同数据类型连接表(优化)
问题描述
我创建了一个视图,可以在其中查看产品的整体生命周期。我想添加另一个表格来提供更多信息。我遇到的问题是我要加入的表具有不同的数据类型 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 分钟的执行时间。
解决方案
推荐阅读
- reactjs - 持久化 redux 状态与动态 url
- json - 将结果保存到新的 csv 文件而不是 println Groovy
- wordpress - 获取菜单分配到的所有位置
- pandas - RFECV gridscore 中的数字是否等同于所选特征?
- flutter - 如何在 Flutter_linkify 上编辑 Hiperlink
- php - SQLSTATE[HY000]:一般错误:1364 字段“country_id”没有默认值
- function - 如何在 Go 中泛化函数包装?
- visual-studio-code - VSCode 扩展在 activityBar 中添加一个输入
- node.js - 使用 Jest 进行 Strapi 单元测试,失败
- javascript - 如何在 crome 浏览器的控制台上运行纯 Java 脚本文件