one_plus1 2019-08-09 11:40 采纳率: 0%
浏览 258
已采纳

指出以下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条回答 默认 最新

  • CCCCCCCYYY_ 2019-08-09 12:24
    关注

    索引失效

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

    改成这个试试

    userid ='13772556391'
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置