zoukankan      html  css  js  c++  java
  • mysql通过TEXT字段进行关联的优化方案

    mysql如果通过超长的字段进行on关联,会导致效率很低,7k关联1.4k,结果为30+W的数据量,执行时间高达50秒。

    将这个字段进行md5,然后再通过md5后的值进行关联,执行效率会大大优化,同样的SQL,可在5秒内完成。

    select
         count(1) as cnt
    from (
        select
             md5(activity.target_building_ids) as md5
        from aaaaaaaaaaaaaaaaaaaaa enroll -- 5472
    ) t1
    left join (
        select 
             md5(t21.target_building_ids) as md5
            ,t22.name
        from (select distinct bbbbbbbbbbbbbbbbbbbbb from h_activity where ifnull(target_building_ids,'') <> '') t21
        join (
            select
                 bld.id
                ,proj.name
            from ccccccccccccccccccc bld -- 6277
            left join dddddddddddddddddddddd proj -- 575
                on proj.id =bld.proj_id and proj.is_deleted=0
            where bld.is_deleted =0 
        ) t22
            on instr(t21.target_building_ids,t22.id)>0
    ) t2 -- 1305
        on t1.md5 = t2.md5
    ;
  • 相关阅读:
    linux下修改mysql密码
    会话跟踪技术之——cookie
    servlet之注册登录(简写)
    java服务端和用户端
    JavaBean和jsp的开发模型
    session的用法
    jsp元素
    servlet
    ServletContext对象统计在线人数
    图片站点服务
  • 原文地址:https://www.cnblogs.com/chenzechao/p/11890798.html
Copyright © 2011-2022 走看看