指出以下mysql语句的问题所在及优化方案

有表结构如下:

CREATE TABLE `member` ( …… userid  char(11) NOT NULL DEFAULT '' , KEY ind_ userid (userid)…… ) ENGINE=InnoDB;

执行计划如下:

mysql> explain extended select username from`member` where userid =13772556391 limit 0,1;
mysql> show warnings;
Warning1:Cannot use index 'ind_userid' due to type or collation conversion on field ' userid' Note:select `member`.`username`  from `member` where (`member`.`userid` = 13772556391) limit 0,1

请给出原因及优化方案

1个回答

索引失效

查询变量和字段定义类型不匹配

改成这个试试

userid ='13772556391'
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问