MYSQL5.8之后索引失效的常见原因以及如何避免

您所在的位置:网站首页 常用的浇口形式有哪些 MYSQL5.8之后索引失效的常见原因以及如何避免

MYSQL5.8之后索引失效的常见原因以及如何避免

2022-12-02 13:35| 来源: 网络整理| 查看: 265

一:MYSQL5.8之后索引失效的常见原因以及如何避免

之前在小公司,数据量不大,用索引也不规范,明明建立了索引,但是通过 Explain 发现语句并没有使用上索引,这可能是某些原因导致了我们的索引失效。所以想自己记录一下,以后忘记了能查看。

MYSQL5.8之后索引失效的常见原因以及如何避免 一:MYSQL5.8之后索引失效的常见原因以及如何避免一:初始化数据库1:创建表2:创建函数 二:索引失效的原因1. 以下情况可能会导致索引失效,应避免使用;2. 对索引列进行运算导致索引失效,我所指的对索引列进行运算包括(+,-,\*,/,! 等)3. 对索引列使用函数会导致索引失效,我所指的对索引列进行函数包括(month,ifnull,left 等)4. 不要将空的变量值直接与比较运算符(符号)比较。5. 不要在 SQL 代码中使用双引号。 三:索引使用原则:四:建索引注意事项五:索引容易失效的几个注意点:

一:初始化数据库 1:创建表 -- 创建表 CREATE TABLE `user` ( `user_id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL COMMENT '用户名', `age` int DEFAULT NULL COMMENT '年龄', `pass` varchar(64) DEFAULT NULL COMMENT '密码', `create_time` datetime DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`user_id`), KEY `name_pass` (`name`,`pass`) USING BTREE, KEY `age` (`age`) USING BTREE ) ; 2:创建函数 -- 创建函数 快速添加插入用户信息 CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_user`( IN record INTEGER, -- record参数用来传需要插入数据的条数 IN dt TIMESTAMP -- dt参数用来传入时间戳,开始插入的第一条数据的时间(格式为:'2020-10-24 14:31:44') ) BEGIN DECLARE number INTEGER;-- 声明一个number,用来控制循环的次数 SET number = 1;-- 将number的值赋值为1,代表循环从1开始 START TRANSACTION; WHILE number


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3