Mysql索引

索引分为:普通索引,主键索引,唯一索引

查询是否有索引

show indexes from 表名

添加索引

添加唯一索引

例如 : create unique index 索引名称 ON 表名(列名)

添加普通索引

例:create index 索引名称 ON 表名(列名)

添加普通索引2

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

如何选择:
1、如果某列的值,是不会重复的,则优先考虑唯一索引unique,否则使用普通索引 

添加主键索引(先有表再创建索引)

alter table 表名 add primary key (列名)

删除索引

drop index 索引名称 on 表名

删除主键索引

alter table 表名 drop primary key

如果要修改索引,需要先删除,再添加新的索引

查询索引(多种方式)

1.show index from 表名

2.show indexes from 表名

3.show key from 表名

4.desc 表名

索引的规则

1.较频繁的作为查询条件字段应该创建索引(经常使用的地方创建索引)

2.唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件(比如性别,即重复值太多的列)

3.更新非常频繁的字段不适合创建索引

4.不会出现在whrer子句中字段不该创建索引

5.数据类型为text,blob的列

MySQL索引是一种数据结构,可以帮助MySQL快速定位和访问表中的数据。使用索引可以提高查询效率,降低数据库的负载。下面是MySQL索引的一些基本概念和使用方法: 1. 索引类型 MySQL支持多种类型的索引,包括B树索引、哈希索引、全文索引等。其中,B树索引是最常用的一种,也是默认的索引类型。B树索引可以用于精确匹配和范围查询,而哈希索引主要用于等值查询,全文索引则用于文本检索。 2. 索引创建 可以在创建表时指定索引,例如: ``` CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), email VARCHAR(50), INDEX idx_email (email) ); ``` 也可以在已有的表上添加索引,例如: ``` ALTER TABLE users ADD INDEX idx_name (name); ``` 3. 索引使用 查询语句中可以使用WHERE子句和ORDER BY子句来利用索引,例如: ``` SELECT * FROM users WHERE email = 'example@example.com'; SELECT * FROM users WHERE name LIKE 'John%' ORDER BY id DESC; ``` 需要注意的是,索引并不是越多越好,过多的索引会占用过多的磁盘空间并降低写操作的性能。因此,需要根据实际情况选择合适的索引。同时,还需要定期对索引进行维护,包括优化查询语句、删除不必要的索引等。 4. 索引优化 MySQL提供了一些工具来优化索引,例如EXPLAIN命令可以帮助分析查询语句的执行计划,找出慢查询和不必要的全表扫描。可以使用OPTIMIZE TABLE命令来优化表的索引和碎片,从而提高查询性能。还可以使用缓存来避免频繁的查询操作,例如使用Memcached或Redis等缓存工具。 以上就是MySQL索引的一些基本概念和使用方法,需要根据实际情况进行选择和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值