在 2 个表中按所有字段搜索左连接 - 性能问题?
Posted
技术标签:
【中文标题】在 2 个表中按所有字段搜索左连接 - 性能问题?【英文标题】:searching by all fields with like in 2 tables left join - performance issues? 【发布时间】:2011-11-17 14:24:07 【问题描述】:我在 firebird sql 2.5 中的 2 个表之间进行左连接,我需要使用 like 语句将它们作为字符串进行搜索。
就像:
表:用户:
ID |姓名 |时间 | ADDRESS_FK
.
表:地址:
ID |街道 |城市 |国家
我想在加入这两个表后,在每个结果字段上搜索匹配的字符串。
最好的性能方法是什么,或者这是唯一可能的方法?【问题讨论】:
如何搜索它们?您的架构设计是什么样的,到目前为止您尝试过什么?你的样本数据和结果是什么? 我已经更新了我的问题。请随意询问我是否需要添加一些东西。 【参考方案1】:示例查询
仅限国家/地区
SELECT *
FROM "USER"
LEFT JOIN ADDRESS ON ("USER".ADDRESS_FK = ADDRESS.ID)
WHERE ADDRESS.COUNTRY LIKE 'TURKEY'
国家和城市
SELECT *
FROM "USER"
LEFT JOIN ADDRESS ON ("USER".ADDRESS_FK = ADDRESS.ID)
WHERE ADDRESS.COUNTRY LIKE 'TURKEY' AND ADDRESS.CITY LIKE 'ISTANBUL'
【讨论】:
如果没有指定通配符,则不需要使用LIKE
这只是一个示例数据,可能查询会被通配符
我明白了...似乎没有其他选择:|非常感谢你们 !你太棒了! :)以上是关于在 2 个表中按所有字段搜索左连接 - 性能问题?的主要内容,如果未能解决你的问题,请参考以下文章