执行 SQL 查询
Posted
技术标签:
【中文标题】执行 SQL 查询【英文标题】:Perform a SQL Query 【发布时间】:2019-01-24 03:14:37 【问题描述】:SELECT p.las_plano_id, p.mensalidade_diferenciada, v.las_tipos_planos_id, t.valor_mensalidade
FROM isw_planos AS p
INNER JOIN isw_planos_vinculos AS v
ON p.las_plano_id =
(SELECT v.las_plano_id
FROM isw_planos_vinculos
WHERE v.data_encerramento IS NULL
ORDER BY v.data_adesao
DESC LIMIT 1)
INNER JOIN isw_planos_tipos AS t
ON v.las_tipos_planos_id = t.id
WHERE p.ativo = 1
但是..结果会产生很长的延迟..执行此查询是否可以更快地执行?
感谢..
【问题讨论】:
这个问题具体与 PHP/PDO 有关吗?它从mysql
接口做了什么?
为什么不使用UNION?
@user3783243 我使用 Mysql 和 PDO ......但这没什么区别,我只是想改进查询
好吧,这对这个问题很重要。您不希望 PDO/PHP 改进。请添加表的架构以及 explain
显示的此查询执行路径的内容。
@Roshan .. UNION 比 INNER JOIN 快?请问我的查询看起来如何?
【参考方案1】:
我怀疑错误与v.
有关:
这看起来不对:SELECT v.las_plano_id ...
因为 v 在子查询之外。请检查使用的别名。
如果删除 v.
没有帮助,请提供 SHOW CREATE TABLE
以便我们查看索引等。
【讨论】:
以上是关于执行 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章