• mysql性能优化


    索引使用;

    1、not in;某列重复数据过多就直接走全表扫码了;隐式类型转换;函数;or如果有一列没有加索引则不走索引;避免select *;尽量走覆盖索引

    2、使用联合索引而不是单列索引,如果是单列索引:

    数据库会选择一个最优的索引(辨识度最高索引)来使用,并不会使用全部索引 ;

    3、索引量>5个会影响性能;

    4、使用exists作为筛选条件效果还是很不错的:

    SELECT
    a.id,
    a.area_code,
    a.bill_code,
    a.NAME,
    a.credit_level,
    a.without_approval,
    a.apply_credit_days,
    a.recommend_credit_limit,
    a.recommend_credit_days,
    a.STATUS,
    a.model_type,
    a.create_date,
    a.confirm_date,
    a.operator,
    a.dept_code,
    b.peopleFollow mgr_emp_code,
    a.current_credit_level,
    a.current_credit_limit,
    a.current_credit_days,
    c.emp_code head_receiver,
    '857767' empCode
    FROM
    enterprise_customer_reassess_record a
    LEFT JOIN sasp_ccm_business_account b ON a.bill_code = b.businessAccount
    LEFT JOIN cc_area_charge c ON a.area_code = c.area_code
    LEFT JOIN tm_department_ccm d ON a.dept_code = d.DEPT_CODE
    WHERE
    1 = 1
    AND (
    1 = 1
    AND EXISTS (
    SELECT
    1
    FROM
    cc_emp_data_right x
    WHERE
    1 = 1
    AND x.`emp_code` = '857767'
    AND (
    x.`dept_code` = '001'
    OR d.`dept_code` = x.`dept_code`
    OR d.`DIVISION_CODE` = x.`dept_code`
    OR d.`AREA_CODE` = x.`dept_code`
    OR d.`HQ_CODE` = x.`dept_code`
    )
    )
    OR b.peopleFollow = '857767'
    )

  • 相关阅读:
    tomcat安装配置
    Java的jdk环境变量配置
    我为什么在这里写博客
    函数
    java的内部类解析
    常用集合
    java数据类型总结
    Java总结基础知识
    线程的状态和方法
    java对象序列化的理解
  • 原文地址:https://www.cnblogs.com/gendway/p/12120906.html
Copyright © 2020-2023  润新知