MySQL入门之索引

来源:互联网 发布:知乎 vmwarehorizon 编辑:程序博客网 时间:2024/06/05 08:11

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

教程大纲:

http://blog.csdn.net/qq78442761/article/details/76018310

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


索引的存储与分类

1.B-树索引

a) 查询必须从索引的最左边的列开始

b) 查询不能跳过某一索引列,必须按照从左至右的顺序进行匹配

c) 存储引擎不能使用索引中范围条件右边的列

2.哈希索引

a) 不能排序

b) 不支持部分匹配

c) 只支持等值比较

3.普通索引

a) 最基本的索引

b) 使用index

4.唯一索引

a) 所有的值都只能出现一次

b) 使用unique

5.主键

a) 每个表只有一个

b) 关键字primary key

6.全文索引

a) 只能在varchar 或text 类型的列上创建

b) 只能在MyISAM中创建

7.空间索引

a) MyISAM存储引擎支持即RTREE索引

b) 单列索引

c) 组列索引

d) 聚集索引

e) 覆盖索引

 

索引的创建

1.使用create index

2.可选用的索引类型有Btree和Hash,不指定默认为btree索引

 

在cust_name 上前三个字符采用默认的索引类型创建一个升序索引index_customers



在cust_name和cust_id采用btree索引创建一个复合索引index_cust



使用create table 语句创建索引




 

另外一种创建方法无效



记住含index时只能table不能schema



使用alter table 创建索引



索引的删除

1.使用 drop index 语句删除


2.使用alter table 删除索引


对索引进一步说明:

1.索引在提高查询速度的同时,却会降低更新表的数据

2.索引以文件存储

3.一般不用like操作