zoukankan      html  css  js  c++  java
  • MySql的索引

    什么是索引:

      索引就是一个数据结构,我们把表中的记录用一个适合高效查找的数据结构来表示,目的就是让查询变得更高效。
    

    索引的优点:

      索引大大减少了服务器需要扫描的数据量
      索引可以帮助服务器避免排序和临时表
      索引可以将随机I/O变成顺序I/O
    

    索引的缺点:

      索引是占用空间的.
      索引会影响update insert delete速度
    

    索引的分类

      1. FULLTEXT
      即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。全文索引并不是和MyISAM一起诞生的,它的出现是为了解决WHERE name LIKE “%word%"这类针对文本的模糊查询效率较低的问题。
      2. HASH
     由于HASH的唯一(几乎100%的唯一)及类似键值对的形式,很适合作为索引。
     HASH索引可以一次定位,不需要像树形索引那样逐层查找,因此具有极高的效率。但是,这种高效是有条件的,即只在“=”和“in”条件下高效,对于范围查询、排序及组合索引仍然效率不高。
     3. BTREE
     BTREE索引就是一种将索引值按一定的算法,存入一个树形的数据结构中(二叉树),每次查询都是从树的入口root开始,依次遍历node,获取leaf。这是MySQL里默认和最常用的索引类型。
    
    • 普通索引:仅加速查询
    • 唯一索引:加速查询 + 列值唯一(可以有null)
    • 主键索引:加速查询 + 列值唯一(不可以有null)+ 表中只有一个
    • 组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并
    • 全文索引:对文本的内容进行分词,进行搜索

    索引的操作

    • 创建索引
      --创建普通索引
      CREATE INDEX index_name ON table_name(col_name);
      --创建唯一索引
      CREATE UNIQUE INDEX index_name ON table_name(col_name);
      --创建普通组合索引
      CREATE INDEX index_name ON table_name(col_name_1,col_name_2);
      --创建唯一组合索引
      CREATE UNIQUE INDEX index_name ON table_name(col_name_1,col_name_2);
    • 修改表结果创建索引
      ALTER TABLE table_name ADD INDEX index_name(col_name);
    • 创建表时直接指定索引
      CREATE TABLE table_name (
      ID INT NOT NULL,col_name VARCHAR (16) NOT NULL,INDEX index_name (col_name)
      );
    • 删除索引
      --直接删除索引
      DROP INDEX index_name ON table_name;
      --修改表结构删除索引
      ALTER TABLE table_name DROP INDEX index_name;
    • 查看索引
      show index from table_name;
      参考:https://blog.csdn.net/liutong123987/article/details/79384395
  • 相关阅读:
    iOS-SetNeedsLayout,layoutNeeded和layoutSubviews方法之间的关系
    iOS-基础知识-assign,copy,retain,strong,weak的区别
    iOS中单例的两种方法
    iOS-项目国际化
    iOS-项目分析,框架搭建
    iOS-项目远程推送1
    iOS-developer.Apple开发账号操作步骤
    iOS系统办公软件ppt等如何转换windows下可以打开的格式
    iOS-Senior18-第三方初级
    iOS-Senior23-科大讯飞语音识别2
  • 原文地址:https://www.cnblogs.com/qixc/p/13096259.html
Copyright © 2011-2022 走看看