MySQL创建四种索引以及索引失效的情况

文章介绍了MySQL中索引的作用,包括加速查询和提高查询效率,并提供了创建不同类型的索引(唯一、普通、组合、全文)的示例。同时,也列举了可能导致索引失效的四种情况,如范围查询、使用函数、通配符和ISNULL操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于索引
目的:
加速查询,提高查询效率
是什么:
在MySQL中,索引也叫“键”,是存储引擎用于快速找到记录的一种数据结构
原理:
通过缩小范围实现精确定位
添加索引
1.添加唯一索引
CREATE UNIQUE INDEX username ON suoyin ( user_name );

SELECT
	* 
FROM
	suoyin 
WHERE
	user_name = '姓名_999001'
#添加唯一索引
CREATE UNIQUE INDEX username ON suoyin ( user_name );

2.添加普通索引
CREATE INDEX PASSWORD ON suoyin ( password );

SELECT
	* 
FROM
	suoyin 
WHERE
	`password` = '密码:999001'
#添加普通索引
CREATE INDEX PASSWORD ON suoyin ( `password` );

3.添加组合索引
CREATE INDEX username_pwd ON suoyin (
user_name,
password)

SELECT
	* 
FROM
	suoyin 
WHERE
	user_name = "姓名_999002" 
	AND `password` = "密码:999002"
#添加组合索引	
CREATE INDEX username_pwd ON suoyin (
	user_name,
`password`)

4.添加全文索引
create FULLTEXT index text on suoyin(text)

SELECT
	id 
FROM
	suoyin 
WHERE
	MATCH ( text ) against ( "账号999003密码999003" );
#添加全文索引
create FULLTEXT index text on suoyin(text)

索引失效的情况
1.索引失效-范围查询

SELECT
	* 
FROM
	suoyin 
WHERE
	id > 991022

2.索引失效-使用函数

SELECT
	* 
FROM
	suoyin 
WHERE
	LEFT (
		`password`,
	'密码:991001')

3.索引失效-通配符

SELECT
	* 
FROM
	suoyin 
WHERE
	text LIKE '账号991003密码991003'

4.索引失效-ISNULL

SELECT
	* 
FROM
	suoyin 
WHERE
	ISNULL(
	user_name)```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值