MySQL索引

 

索引说明:
 1.索引在mysql中也叫键,用于数据库引擎快速找到记录的一种数据结构。它能够让数据库的查询速度提升很多个量级,特别是在数据量越来越大的时候,索引对性能的影响就越大
 2.索引优化是查询性能优化最有效的手段
缺点:
  创建索引非常消耗时间和空间

 

 

 

普通索引

create table student(
id int primary key auto_increment,
name varchar(20),
age int,
index (name)  # 为 name 这个字段创建索引,索引名默认名为 字段的名字

index user_name(name) # 为 name 这个字段创建索引,索引名为 user_name

key (name)    # 与 index 一样

key user_name(name) 作用与 index 一样

)engine=InnoDB default charset=utf8;

 

 唯一索引:

  说明:就是索引名字不能有重复

  

create table student(
id int primary key auto_increment, 
name varchar(20), 
age int,

unique index user_name(name)   # 为 name 这个字段创建了名为 user_name 的索引,另外,其他字段的索引名不能与这个字段有重复,否则报错

)engine=InnoDB default charset=utf8;

多列索引:

create table student(
id int primary key auto_increment,
name varchar(20),
age int,
index user_age(name,age) # name 列和 age 列 共用一个索引 user_age

)engine=InnoDB default charset=utf8;

#多列索引相对于单列来说,查询效率比单列低,但比单列省时间和空间

 

全局索引:

create table student(
id int primary key auto_increment, 
name varchar(20), 
age int,

fulltext index user_name(name)  

)engine=InnoDB default charset=utf8;

 

posted @ 2018-07-16 16:35  lei-jia-ming  阅读(102)  评论(0编辑  收藏  举报