Php 从类似MySQL的查询中获取匹配的上下文

Php 从类似MySQL的查询中获取匹配的上下文,php,mysql,datacontext,Php,Mysql,Datacontext,以下是我目前使用的SQL代码: SELECT credentials.credential_id, clients.client_id, clients.client_name, services.service_id, services.service_name FROM credentials INNER JOIN clients ON clients.client_id = credentials.client_id IN

以下是我目前使用的SQL代码:

SELECT

    credentials.credential_id,
    clients.client_id,
    clients.client_name,
    services.service_id,
    services.service_name

FROM

    credentials

INNER JOIN

    clients ON clients.client_id = credentials.client_id

INNER JOIN

    services ON services.service_id = credentials.service_id

WHERE 

    services.service_name LIKE ?
    OR clients.client_name LIKE ?
如您所见,如果
service\u name
client\u name
与我的
LIKE
参数的值匹配,则可以返回一条记录。这很有效。以下是我的问题:

1) 在仍然提供关键字搜索的同时,如何优化此查询,使其尽可能具有可伸缩性

2) 我希望MySQL返回匹配内容的上下文。换句话说,我希望能够向用户展示为什么查询匹配的内容会返回特定记录。正如您所知,它可能是服务或客户端名称,但当我展开此查询时,它甚至可能是另一个表中的其他项。关于在MySQL查询中提供匹配的上下文,是否有人可以向我提供任何资源


谢谢您的建议。

将类似的表达式添加到字段列表中

SELECT ...
  services.service_name LIKE ? AS service_matched,
  clients.client_name LIKE ? AS client_matched
FROM
   ...