mysql 索引

现在接触到的索引
innodb,myisam 这两种索引
5.6 开始 新建表的存储引擎 都是 innodb

innodb 支持行级锁 mysiam 表锁

innodb 支持事务, mysiam 不支持

innodb 不支持全文索引, mysiam 支持全文索引

innodb 插入,更新比较快,mysiam 查询比较快

什么索引,索引有哪些分类

  1. 索引是一种特殊的文件,它们包含所有表记录的引用指针,相当于书本的目录。其作用就是加快检索数据的速度。
  2. 索引有 主键索引,唯一索引,复合索引,普通索引,全文索引
    主键索引 一个表只有一个,不允许为空
    唯一索引一个表可以有多个,可以允许为空
    复合索引 多个列 组合在一起
    全文索引 varchar char , funlltext ,但是不支持中文
    索引不是越多越好,因为索引也要占空间,在更新,插入,数据会重新更新的

alter table test add index (name); 普通索引
alter table teble add unique (age); 唯一索引
alter table test add fulltext (class); 全文索引

建立索引的原则

  1. 一般出现在 where 查询后面的字段才建立索引
  2. 经常需要ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作会浪费很多时间。如果为其建立索引,可以有效地避免排序操作。
  3. 尽量是数据小的建立索引 char(10), char(100)
  4. text.log 这种要有前缀索引
    5.限制索引的数目,不是越多越好,索引会占用磁盘空间的
    6.尽量扩张索引

#mysql 如何优化
1.尽量避免where like 模糊查询
2. 不用使用select *,需要列出列的名字
3.mysql 语句避免运算,减轻mysql 的压力
4. 经常查询的字段,建立合适的索引,提高查询效率

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容