【问题标题】:searching by all fields with like in 2 tables left join - performance issues?在 2 个表中按所有字段搜索左连接 - 性能问题?
【发布时间】:2011-11-17 14:24:07
【问题描述】:

我在 firebird sql 2.5 中的 2 个表之间进行左连接,我需要使用 like 语句将它们作为字符串进行搜索。

就像:

表:用户:

ID |姓名 |时间 | ADDRESS_FK

.

表:地址:

ID |街道 |城市 |国家

我想在加入这两个表后,在每个结果字段上搜索匹配的字符串。

  • 最好的性能方法是什么,或者这是唯一可能的方法?

【问题讨论】:

  • 如何搜索它们?您的架构设计是什么样的,到目前为止您尝试过什么?你的样本数据和结果是什么?
  • 我已经更新了我的问题。请随意询问我是否需要添加一些东西。

标签: sql firebird2.5


【解决方案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
  • 这只是一个示例数据,可能查询会被通配符
  • 我明白了...似乎没有其他选择:|非常感谢你们 !你太棒了! :)
猜你喜欢
  • 1970-01-01
  • 2021-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多