记一次MySQL 查询慢索引不生效过程 二

 1:简单SQL查询

EXPLAIN
SELECT * FROM log_member 
WHERE member_id = 46770 ;

2:表索引信息

CREATE TABLE `log_member` (
   `log_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
   `module_code` varchar(30) DEFAULT NULL COMMENT '模块编码',
   `method` varchar(30) DEFAULT NULL COMMENT '业务方法',
   `json_data` varchar(2000) DEFAULT NULL COMMENT '业务数据<创建以及修改均需要存储数据>',
   `ip` char(30) DEFAULT NULL COMMENT 'IP地址',
   `member_id` varchar(30) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '会员账户ID',
   `member_name` varchar(30) DEFAULT NULL COMMENT '会员名字',
   `account` varchar(30) DEFAULT NULL COMMENT '操作者账户',
   `operator` varchar(30) DEFAULT NULL COMMENT '操作者',
   `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '操作时间',
   `parent_id` varchar(20) DEFAULT NULL COMMENT '会员父ID',
   PRIMARY KEY (`log_id`),
   KEY `member_name` (`member_name`),
   KEY `IP` (`ip`),
   KEY `moudle_code` (`module_code`),
   KEY `method` (`method`),
   KEY `memberid` (`member_id`),
   KEY `parentid` (`parent_id`)
 ) ENGINE=InnoDB AUTO_INCREMENT=567536 DEFAULT CHARSET=utf8 COMMENT='会员日志记录表'

 记一次MySQL 查询慢索引不生效过程 二_第1张图片

3:分析SQL

记一次MySQL 查询慢索引不生效过程 二_第2张图片

 

记一次MySQL 查询慢索引不生效过程 二_第3张图片

 喵了一眼,数据库字段类型是varchar、查询时放入的是数字类型。所以索引无法生效。

4:解决问题

记一次MySQL 查询慢索引不生效过程 二_第4张图片

你可能感兴趣的:(MySQL,MySQL索引不生效,mysql,Mysql索引)