MYSQL的索引

实现方式

Hash索引:给表按照某一字段生成一个数字(hashcode),

便于用hashcode直接进行查找

Tree索引

以某一字段为索引,通过树形结构便于查询

功能分类

单列索引

单列索引:一个索引只包含单个列,但一个表中可以有多个单列索引

普通索引

没有较大限制,允许在定义索引的列中插入重复值和空值

创建方式

1.创建表的时候直接指定

create table 表名(

******,

******,

index 索引名(列名)

);

2.直接创建
create index 索引名 on表名(列名);

3﹣修改表结构(添加索引)

alter table表名add index 索引名(列名);

查看索引

1查看数据库所有索引

select * from mysql.'innodb_index_stats' a where a. database_name='表名';

2、查看表中所有索引

select * from mysql.'innodb_index_stats' a where a.'database_name'='数据库名'and a.table_name like'%表名%';

3、查看表中所有索引

show index from 表名;

删除索引

drop index 索引名 on 表名

alter table 表名 drop index 索引名

唯一索引:关键词(unique)

与普通索引区别是多了unique

使用:create unique index 索引名 on表名(列名);

主键索引:以添加的主键为索引,在创建主键时自动添加

组合索引

组合索引也叫复合索引 指的是我们在建立索引的时候使用多个字段,可以建立为普通索引或者是

唯一索引;

复合索引的使用复合最左原则。

创建索引的基本语法

 create index 索引名 on表名(列名,列名);

删除索引

 drop index 索引名 on表名 ;

全文索引:关键字—fulltext 

基于相似度的查询,而不是简单的 where 语句的参数匹配;

全文索引在大量的数据面前,能比 like +%快 N 倍,但是全文索引可能存在精度问题

全文索引的版本、存储引擎、数据类型的支持情况:

. MySQL 5.6以前的版本,只有MyISAM存储引擎支持全文索引;

.MySQL 5.6及以后的版本,MyISAM 和InnoDB 存储引擎均支持全文索引:

只有字段的数据类型为chiar、varchar、text 及其系列才可以建全文索引;

在数据量较大时候,现将数据放入一个没有全局索引的表中,然后再用create index创建fulltext

索引,要比先为一张表建立fulltext然后再将数据写入的速度快很多;

MySQL 中的全文索引,有两个变量,最小搜索长度和最大搜索长度

 对于长度小于最小搜索长度和大于最大搜索长度的词语,都不会被索引。

通俗点就是说,想对一个词语使用全文索引搜索,那么这个词语的长度必须在以上两个变量的区间内。这两个的默认值可以使用以下命令查看:

show variables like '%ft%';

添加索引

创建表的适合添加全文索引

create table 表名(

******,

******,

fulltext (content)

);

修改表结构添加全文索引
alter table 表名 add fulltext 索引名(content);
直接添加全文索引
create fulltext index 索引名 on表名 (content);

使用全文索引

select * from  表名 where match ( content ) against ('内容');

注:内容需在最小搜索长度和大于最大搜索长度范围之间                                                           


空间索引

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mshkkhhgybzlc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值