zoukankan      html  css  js  c++  java
  • mysql索引相关

    索引有主键索引、唯一索引、普通索引

    单列索引,复合索引。

    复合索引(a,b,c),可以理解是有三个索引,分别是a、b、c三个索引

    前缀不是a的话,复合索引都不起作用,前缀用函数或者是范围,比如《、》、like的索引都不起作用。

    如果复合索引中的一个用范围,后面的都不起作用,比如a=1 and b>1 and c=2,则c的索引不起作用

    or:a=1 or d=2 则索引不起作用

    and:a=1 and d=2 前面的索引起作用;b=1 and d=2  不起作用

    单列索引:like “abc%” 起作用, like “%abc” 索引不起作用

    复合索引有出现null值的列,整个复合索引失效。

    不要在索引列上使用函数

    不要在数据基数小的列上使用索引,比如性别只有0和1

    应该创建索引的列有where、group by、order by、distinct、on 后面,范围语句,例如between、>、<、in、like(“xxx%”)

    order by 后面的字段也应该出现再查询字段中,不然索引会失效,除了主键

    如果列是字符串类型,传入条件是必须用引号引起来,不然索引会失效

    count(1)或count(列)代替count(*)在mysql中没有差别了

    一次查询只能用到一个索引

    mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,

  • 相关阅读:
    cve-2015-1635 poc
    Python实现ORM
    Android完全退出应用的方法
    Java反射理解
    Android动画
    Android进程间通信IPC
    Java的四种引用方式
    Android底部菜单的实现
    Android中AsyncTask使用
    Android自定义控件
  • 原文地址:https://www.cnblogs.com/3chi/p/8284497.html
Copyright © 2011-2022 走看看