Mysql索引整理总结

									Mysql索引整理总结

(一)简介
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

举例说明索引:如果把数据库中的某一张看成一本书,那么索引就像是书的目录,可以通过目录快速查找书中指定内容的位置,对于数据库表来说,可以通过索引快速查找表中的数据。
(二)原理
存储的索引的原理大致概括为以空间换时间,数据库在未添加索引的时候进行查询默认的是进行全量搜索,也就是进行全局扫描,有多少条数据,就搜索了多少条数据,查找效率极低.
加了索引后,会将建立索引的KEY值放在一个n叉树上(BTree)。因为B树的特点就是适合在磁盘等直接存储设备上组织动态查找表,每次以索引进行条件查询时,会去树上根据key值直接进行搜索.

(三)索引的优缺点
优点:(1)建立索引的列可以保证行的唯一性,生成唯一的rowId
(2)建立索引可以有效缩短数据的检索时间
缺点:(1)创建索引和维护索引需要时间成本.随着数据量的增大而增大
(2)创建索引和维护索引需要空间成本.
(3)降低增删改效率
(四)索引的种类
(1)单列索引
(2)组合索引
(3)唯一索引
(4)主键索引
(5)全文索引
(四)索引的创建方式(!!!此处只适合单列索引,其他索引的创建方式请百度)
(1)直接创建索引:
CREATE INDEX index_name ON table_name(col_name);
(2)修改表结构的方式添加索引
ALTER TABLE table_name ADD INDEX index_name(col_name);
(3)创建表的时候同时创建索引
CREATE TABLE news (
id int(11) NOT NULL AUTO_INCREMENT ,
title varchar(255) NOT NULL ,
content varchar(255) NULL ,
time varchar(20) NULL DEFAULT NULL ,
PRIMARY KEY (id),
INDEX index_name (title(255))
)
(4)删除索引
DROP INDEX index_name ON table_name;
或者
alter table 表名 drop index 索引名;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值