我需要进行一个查询,从各种表中获取列 - 总共 5 个表。我很高兴得到左连接的要点,并得到我需要的结果,唯一的问题是速度。我对索引/键有点迷茫,可能是因为我的案例与我在网上阅读的所有示例都不典型。我的表中的“唯一” id 不是所有表中的主键,并且不能是因为该 id 在表中可以有几行(历史/审计目的)。id 在几个表(##/### 和##-###)中也采用不同的格式,因此匹配它们的函数可能会导致速度大大降低。到目前为止粘贴我的代码可能更容易(只有 3 个表 - 在我可以先征服 3 个表之前不要全部完成!),并且希望有人可以建议如何使用索引和键进行改进。
SELECT dc.URN,dc.GuideName,dc.GuideStreet,ss.categorycalc,pm.initiatedate
FROM dc
LEFT JOIN pm
ON dc.URN = pm.URN
LEFT JOIN ss
ON dc.URN = replace(ss.URN,"/","-")
WHERE dc.GuidePCode LIKE 'WA9%'
ORDER BY pm.Status ASC;
我希望少一些建议来重新启动数据库并“正确执行”等 - 已经有很多程序已经编码以某些方式将数据插入某些表。因此,更改唯一 ID 的结构以及将其写入某些表的方式是非常不切实际的。我只需要专注于完成我已经获得的数据的报告。“WA9”部分将根据用户想要搜索的内容而变化。