首页 > 技术文章 > Mysql 索引 事物

zhang-zi-yi 2019-04-22 11:46 原文

索引

  • 针对庞大数据 加速查询 缺点 占用空间

  • 分类:

    普通索引: 通过 index 创建

    唯一索引: 就是 unique key

    主键索引: 就是 primary key

    联合索引(多列)":

    ​ 联合普通索引

    ​ 联合唯一索引

    ​ 联合主键索引

创建普通索引

  • 表存在时

    create index ix_name on user(name);  创建
    create index 索引名 on 表名(列名);  创建
    
    
  • 创建表示

    在表中  使用
    index  索引名(列名)  穿件索引
    

联合普通索引

create index 索引名 on userinfo(name,email);
最左前缀  name 查询快   email 不适用于 索引

索引注意事项

  1. 避免使用 select *
  2. count(1) 或 (列) 代替 count(*)
  3. 创建表时尽量使用 char() 代替 varchar()
  4. 字段顺序固定长度的字段优先
  5. 组合索引代替多个单列索引(经常使用多条件时)
  6. 尽量使用短索引
  7. 使用连接 join 代替子查询
  8. 连表时类型须一致
  9. 索引散列(重复少) 不适用于 穿件索引 例如: 性别

数据库中加锁:

行内锁

  • 开始事物

    begin;

  • 加锁

    select * from 表名 where id=1 for update;
    
  • 结束事物

    commit;

推荐阅读