zoukankan      html  css  js  c++  java
  • mysql中的查询优化

    like查询一般会扫描全表,但是dd%会用到索引,但是%dd,不会用到索引

    当要建立联合索引的时候,离散度较大的列放到前面。打个比方,如果要建立一个姓名(name)和年龄(age)的联合索引,肯定要把name放到前面(index(name,age)),因为age的范围最多不会超过0-120(全世界没几个人能活到120岁以上吧),而name的情况就有成千上万种了。放到前面的好处就是第一次就能筛掉一大批数据,这样更有利查询的效率。

    和foreach一样大的放外面减少cpu的跨层查询

    2.索引的连接使用相同的字段

      连表查询,要确保两个字段使用相同的字段类型,字符编码也要一样.

    3.不要使用order by rand()

      这样会给数据库提前留下了一个可怕的查询瓶颈

    4.索引字段类型也会影响查询效率

      varchar作为索引字段是没有int作为索引效率高,因为内部的索引方式不同

    5.相对varchar有限使用enum

      enum枚举类型是非常快速紧凑的,在内部就像tinyint一样存储,他们可以包含和显示字符串值

  • 相关阅读:
    Linux route
    python 实现自定义切片类
    python 自省机制
    python 实例方法、静态方法、类方法
    python 动态语言和协议编程
    python 鸭子类型
    信息论
    CRF keras代码实现
    CRF 详细推导、验证实例
    attention 汇总(持续)
  • 原文地址:https://www.cnblogs.com/hanshuai0921/p/6595557.html
Copyright © 2011-2022 走看看