MySQL索引相关的命令

-- 创建一个普通索引(方式①)
create index 索引名ON表名(列名(索引键长度)[ASC|DESC]);
-- 创建一个普通索引(方式②)
altertable表名add index 索引名(列名(索引键长度)[ASC|DESC]);
-- 创建一个普通索引(方式③)
CREATETABLE tableName(
  columnName1 INT(8)NOTNULL,
  columnName2 ....,
.....,
  index [索引名称](列名(长度))
);
-- 后续其他类型的索引都可以通过这三种方式创建


-- 创建一个唯一索引
createunique索引名ON表名(列名(索引键长度)[ASC|DESC]);

-- 创建一个主键索引
altertable表名addprimary key 索引名(列名);

-- 创建一个全文索引
create fulltext index 索引名ON表名(列名);

-- 创建一个前缀索引
create index 索引名ON表名(列名(索引键长度));

-- 创建一个空间索引
altertable表名add spatial key 索引名(列名);

-- 创建一个联合索引
create index 索引名ON表名(列名1(索引键长度),列名2,...列名n);

上面将MySQL中创建各类索引的多种方式都列出来了,接着再聊聊索引查看、使用与管理的命令。

-- 查看一张表上的所有索引
show index from表名;

-- 删除一张表上的某个索引
drop index 索引名on表名;

-- 强制指定一条SQL走某个索引查找数据
select*from表名 force index(索引名)where.....;

-- 使用全文索引(自然搜索模式)
select*from表名wherematch(索引列) against('关键字');
-- 使用全文索引(布尔搜索模式)
select*from表名wherematch(索引列) against('布尔表达式'inboolean mode);
-- 使用全文索引(拓展搜索模式)
select*from表名wherematch(索引列) against('关键字'with query expansion);

-- 分析一条SQL是否命中了索引
explain select*from表名where 条件....;
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值