MySQL面经【索引】

打印 上一主题 下一主题

主题 783|帖子 783|积分 2349

索引是什么

索引相当于一本书的目录,通过目录可以快速地找到对应的资源。 添加索引是给某一个字段,大概某些字段添加索引。
索引的种类



  • 主键索引(PRIMARY) 数据列不答应重复,不答应为NULL,⼀个表只能有⼀个主键。


  • 唯⼀索引(UNIQUE) 数据列不答应重复,答应为NULL值,⼀个表答应多个列创建唯⼀索引。
可以通过 ALTER TABLE table_name ADD UNIQUE (column);
创建唯⼀索引 可以通过 ALTER TABLE table_name ADD UNIQUE (column1,column2);


  • 平凡索引(INDEX)
可以通过 ALTER TABLE table_name ADD INDEX index_name (column); 创建平凡索引
可以通过 ALTER TABLE table_name ADD INDEX index_name(column1,column2,column3); 创建组合索引
全⽂索引(FULLTEXT)


  • 可以通过 ALTER TABLE table_name ADD FULLTEXT (column); 创建全⽂索引
索引的特点


  • 索引加快数据库的检索速度
  • 索引低落了插⼊、删除、修改等维护任务的速度
  • 唯⼀索引可以确保每⼀⾏数据的唯⼀性
  • 通过使⽤索引,可以在查询的过程中使⽤优化隐蔽器,提⾼系统的性能 索引必要占物理和数据空间
   索引并⾮是越多越好,创建索引也必要淹灭资源,
  ⼀是额外占用了数据库的存储空间
  ⼆是在插⼊和删除时要花费较多的时间维护索引
  创建索引的三种方式


  • 创建表时创建索引
在执⾏CREATE TABLE时创建索引
  1. CREATE TABLE user_index2 (
  2. id INT auto_increment PRIMARY KEY,
  3. first_name VARCHAR (16),
  4. last_name VARCHAR (16),
  5. id_card VARCHAR (18),
  6. information text,
  7. KEY name (first_name, last_name),
  8. FULLTEXT KEY (information),
  9. UNIQUE KEY (id_card)
  10. );
复制代码

  • 使⽤ALTER TABLE命令去增加索引
  1. ALTER TABLE table_name ADD INDEX index_name (column_list);
复制代码
ALTER TABLE⽤来创建平凡索引、UNIQUE索引或PRIMARY KEY索引。
其中table_name是要增加索引的表名,column_list指出对哪些列进⾏索引,多列时各列之间⽤逗号分隔。 索引名index_name可⾃⼰定名,缺省时,MySQL将根据第⼀个索引列赋⼀个名称。另外,ALTER TABLE答应在单个语句中更改多 个表,因此可以在同时创建多个索引。
  1. ALTER TABLE table_name ADD INDEX index_name (column_list);
复制代码

  • 使⽤CREATE INDEX命令创建
  1.    CREATE INDEX index_name ON table_name (column_list);
复制代码
CREATE INDEX可对表增加平凡索引或UNIQUE索引。(但是,不能创建PRIMARY KEY索引)
删除索引

根据索引名删除平凡索引、唯⼀索引、全⽂索引:
alter table 表名 drop KEY 索引名
  1. alter table user_index drop KEY name;
  2. alter table user_index drop KEY id_card;
  3. alter table user_index drop KEY information;
复制代码
删除主键索引: alter table 表名 drop primary key (因为主键只有⼀个)。
  1.    alter table user_index drop primary key
复制代码
这⾥值得注意的是, 假如主键⾃增长,那么不能直接执⾏此操作(⾃增长依赖于主键索引):
  1. alter table user_index
  2. -- 重新定义字段
  3. MODIFY id int,
  4. drop PRIMARY KEY
复制代码
但通常不会删除主键,因为设计主键⼀定与业务逻辑⽆关。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

祗疼妳一个

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表