账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    mysql 连表查询需要优化
    53
    0

    我现在有a表 90w数据 b表14w数据

    a,b 表都有ftbh ming 这两个字段

    现在要查询两张表中字段值一样的a表记录

    比如 a表的一条记录的ftbh字段值 为11 ming的值为"学成"

    然后 b表也有一条记录的ftbh字段值 为11 ming的值为"学成" 且b表的ftbh 字段大于0

    根据这三个条件 查找a b 表共有的数据 但显示a表的数据 这些在b表中有的数据 还需要删除

    我写的low bi 查询语句

    a表为sst_ocenter_qmname b表为sst_qiming_name

    SELECT 
    oc.id, oc.ftbh, oc.ming
    FROM sst_ocenter_qmname oc 
    JOIN 
    sst_qiming_name qm
    ON oc.ftbh = qm.ftbh
    AND qm.ftbh > 0
    AND oc.ming = qm.ming

    使用join好像情况也没有好转

    SELECT
        oc.id,oc.ftbh,oc.ming
    FROM
        sst_ocenter_qmname oc,
    JOIN
        sst_qiming_name qn
    ON    oc.ftbh = qn.ftbh
    AND oc.ming = qn.ming
    AND qn.ftbh > 0
    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 冉是非 普通会员 1楼

      在MySQL中,表查询的优化主要涉及到以下几点:

      1. 索引优化:使用合适的索引可以大大提高查询效率。对于经常用于查询的字段,应创建索引,这样在查询时可以直接从索引中快速获取数据,而不是全表扫描。但是,索引也可能会带来额外的存储开销,因此需要根据具体情况权衡。

      2. 数据库设计:合理的数据库设计可以提高查询效率。例如,可以将经常用于查询的字段放在主键上,这样查询时可以直接从主键中获取数据,而不是全表扫描。此外,也可以使用分区、分组等操作来提高查询效率。

      3. 数据库连接优化:通过优化数据库连接,可以减少数据库请求的次数,从而提高查询效率。例如,可以使用批量提交的方式来减少数据库连接的建立和关闭的开销。

      4. 数据库缓存:通过使用数据库缓存,可以减少数据库访问的次数,从而提高查询效率。例如,可以将常用的数据存储在缓存中,这样查询时可以直接从缓存中获取数据,而不是全表扫描。

      5. 缓存设置:可以通过设置缓存设置,来优化数据库查询。例如,可以设置缓存过期时间,或者设置缓存的内容等。

      6. 数据库查询优化器:MySQL的查询优化器是一个非常强大的工具,可以自动检测并优化查询性能。可以通过使用查询优化器,来优化数据库查询。

      7. 使用存储过程:存储过程可以提高数据库查询的效率,因为它们可以将查询分解为多个步骤,每个步骤都可以独立编译和执行,从而减少数据库请求的次数。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部