码迷,mamicode.com
首页 > 数据库 > 详细

Mysql索引(简单了解)

时间:2019-06-16 11:21:39      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:需要   rop   事物   char   web   ons   查找   table   mysql存储引擎   

Mysql的存储引擎,可以针对不同的表使用不同的存储引擎

  MyISAM:插入,查血速度快,但是不支持事物,所以适用于数据仓库,Web等

  InnoDB:支持事物,所以适合于事物型数据库

  Memory:是将数据存到内存中

  Archive:事物不安全,所以可以用来保存日志什么的

每个引擎细致的还有许多特点,有空可以看看

----------------------------------------------------------------------------------  

索引

  Mysql存储引擎有两种 B树和Hash 

  索引的优点:可以针对指定的一个列或者多个列建立索引,加快查询速度

        可以减少分组或者排序子句的执行时间

 

  索引的缺点:多占内存

        对表进行修改增加删除的时候,相应的索引也需要更改

  索引的分类:单列索引和组合索引

          单列索引指的就是一个索引只有一个列,但是一个表可以有多个单列索引

          组合索引指的就是在表的多个字段上创建的索引

  全文索引:支持值的全部查找,允许重复和null

  创建索引:在建立表的时候创建

  简单的对某个列创建索引

技术图片

查看索引是否创建成功

 技术图片

技术图片

select_type指的是select的类型 比如简单查询,子查询,联合查询

table 查询的表名

partitions 当表需要分区的时候

type 表之间的关系

possible_keys 可选用的索引

key 使用的实际索引

key_len 索引的长度(字节)

ref 关联关系中另一个表的列名

rows 预计读出的数据行的个数

Extra 关联操作的信息

创建唯一索引

技术图片

默认唯一索引的name就是id(默认使用列名)

创建单列索引

技术图片

创建组合索引

技术图片

创建全文索引:关键字 FULLTEXT,只能对varchar char Text类型使用

技术图片

 如果表已经存在

  1.使用ALTER TABLE创建索引

   语法

   ALTER TABLE table_name ADD [UNIQUE|FUUTEXT|SPATIAL]
   [INDEX|KEY] [index_name] (col_name[length],...) [ASC|DESC]
   ALTER TABLE tabletest ADD UNIQUE INDEX (id);
   给tabletest对id列添加唯一索引,名字是id,如果要指定名字后边改成这个 UniqueId(id),意思是添加唯一索引,名字是UniqueId

   2.使用CREATE INDEX创建索引

           语法

  CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name ON table_name(col_name[length],...)[ASC|DESC]
  CREATE UNIQUE INDEX UniqueId ON tabletest(id)
  在tabletest上对id列创建唯一索引,名字是UniqueId

删除索引
  1.ALTER TABLEF
  语法
  ALTER TABLE table_name DROP INDEX index_name
  2.DROP INDEX
  语法
  DROP INDEX index_name on table_name



----------------------内容很不完善,后续有空会慢慢补充--------------------------------------

Mysql索引(简单了解)

标签:需要   rop   事物   char   web   ons   查找   table   mysql存储引擎   

原文地址:https://www.cnblogs.com/fjd-1004/p/11030876.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!