You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何加速SQL查询?phpMyAdmin执行SQL查询过慢求助

优化查询速度的几个实用方法

嘿,碰到查询慢的问题确实头疼,我给你几个针对性的优化方案,亲测有效:

  • 用JOIN替换IN子查询
    你的原查询用了IN子查询,当数据量较大时,数据库优化器可能没法高效处理。换成JOIN的方式通常会更快,同时用DISTINCT来实现去重需求,改写后的SQL如下:

    SELECT DISTINCT j.mail
    FROM joueurs j
    INNER JOIN paires p ON j.id_joueur = p.idj1
    WHERE p.annee IN (2015, 2016, 2017);
    

    这样数据库可以更高效地关联两张表,避免子查询带来的性能损耗。

  • 添加合适的索引
    这是提升查询速度最关键的一步!目前你的查询需要在paires表中筛选年份并匹配idj1,建议给paires表创建复合索引:

    CREATE INDEX idx_paires_annee_idj1 ON paires(annee, idj1);
    

    另外,确保joueurs表的id_joueur字段是主键(通常主键默认有索引),如果不是的话也给它建个索引:

    CREATE INDEX idx_joueurs_id ON joueurs(id_joueur);
    

    索引能让数据库快速定位到需要的数据,避免全表扫描,速度会提升很多。

  • 简化条件表达式
    原查询里的paires.annee = 2015 OR paires.annee = 2016 OR paires.annee = 2017可以换成paires.annee IN (2015,2016,2017),写法更简洁,而且数据库优化器对IN的处理通常和OR一样高效,可读性更好。

  • 检查phpMyAdmin的执行限制
    有时候查询慢不是SQL的问题,而是phpMyAdmin本身的执行时间限制。你可以在phpMyAdmin的设置里调整max_execution_time参数,不过这只是临时解决办法,核心还是优化SQL和索引。

内容的提问来源于stack exchange,提问作者Vic202

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:58:10