• mysql建立索引,实际工作中建立索引的示例


    1.根据业务场景建立相应的组合索引,一般是在主键,外键,常用来筛选查询的字段,按照字段之间组合的紧密程度,建立一定顺序的索引。

    例如:为 t_org_exam_join_member_day  建立索引。

    首先考虑到字段之间的组合查询。故而先建立组合索引:

    假如  A = f_organization_id,   B = f_day,    C =  f_member_id

    那么起组合效果的是  A   ,A  和 B ,A   和    B    和     C ,就是说sql语句查询出来的条数和执行计划扫描的行数一样的。那样组合索引就起到了绝对的效果。

    A   和   C   组合的话,索引可以起到效果,但是起不到绝对效果。索引扫描的行数就是仅仅是A 条件查询出来的 条数。

    key 表示 执行这个sql,起到效果的索引。 rows 表示索引扫描的行数。

    有时候条件查询可能是针对表的某几列,这样也许会导致组合索引失效,那么可以单独为这些列建立索引。比如只查询B,或者C等。

    组合索引创建原则:

    一个表中有三个字段,XX,YY,ZZ,如果要建立给这三个字段建组合索引(Composite Index),组合索引中字段的顺序应该遵循怎样一个原则。

    一般的原则:越离散的字段越靠前。哪个列可以降低索引的扫描成本就放在前面。

    比如:下位三个字段的离散情况
    XX:2
    YY:1000
    ZZ:50000
    那么建立索引的顺序应该为:ZZ,YY,XX

    CREATE INDEX t_idx ON t (zz,yy,xx);

    where 条件子句中,条件筛选得顺序不一定要与组合索引字段顺序一致,依然可以发挥索引的效果。

    组合索引对应的key_len越大,表明该组合索引使用的越充分。

  • 相关阅读:
    机器学习粗略认识--线性模型
    LDA主题模型困惑度计算
    python-igraph
    pandas 使用技巧
    pandas读取MySql/SqlServer数据
    聚类模型性能评价指标
    各种编码格式
    利用分块传输吊打所有WAF--学习笔记
    Sql 注入----学习笔记2
    Sql 注入----学习笔记
  • 原文地址:https://www.cnblogs.com/lipengsheng-javaweb/p/11423320.html
Copyright © 2020-2023  润新知