MySQL查看索引是否生效

发布时间: 2023-11-21 11:01 阅读: 文章来源:1MUMB728PS

在我们使用MySQL的过程中,随着数据量越来越大,查询显得有些吃力,这时候就要针对查询就行优化,针对查询优化,通过给字段添加索引可以提高数据的读取速度,提高项目的并发能力和抗压能力。在上一篇我们讲了给数据库中的表添加索引,来提高它的查询速度,但是会有另外一种情况出现,那就是我们给表中字段加了索引,但是查询的时候依旧很慢,没有什么变化,这时就是因为建立的索引失效了,今天就来讲一讲索引失效的情况!

对于查看索引是否失效,MySQL数据库针对每一条SQL语句,提供了一个查看它的执行计划的工具,叫做EXPLAIN,咱们先来了解一下这个工具。首先说一下接下来用到的表,创建的表结构为:

CREATE TABLE `tb_user` ( `id` BIGINT (20), `user_name` VARCHAR (200), `user_password` VARCHAR (200), `birth` DATETIME , `sex` char (4), `age` int(8), `email` VARCHAR (200), `mobile` VARCHAR (200), `create_date` DATETIME , `update_date` DATETIME , `description` VARCHAR (800)) ENGINE=INNODB;

创建一个存储函数,向里面插入一百万条数据:

delimiter $CREATE PROCEDURE insert_tb_user() BEGIN declare i INT; SET i=0; WHILE i>=0 && i between and)

这些情况就不在进行实际操作了,感兴趣的朋友可以动手操作一下,也许随着MySQL版本的更新迭代,对这些查询语句进行内部优化,一些索引失效的情况就会消失。除了以上这些情况会导致索引失效,还有哪些情况会导致索引失效呢?

•••展开全文