本帖最后由 musicrabbit 于 2013-10-20 16:05:32 编辑

解决方案 »

  1.   

    Activation.code这一列的数据类型和存储过程中的数据类型相同么 可能是因为数据类型——一个是varchar(8)一个是32 所以用不了索引 楼上说的有道理 可以试一试~
      

  2.   

    改了,  尝试了一下, 还是不行.不应该啊  那你强制使用索引试试select id from Activation force index(code_index) where code = _code limit 1; 
      

  3.   

    应该不是强制索引的问题 连possible keys那一列都是空的~
      

  4.   

    看那个索引长度是10,code列的长度应该也是10
    你把varchar(32)和code列的定义类型和长度统一起来
      

  5.   


    select id from Activation where code = '_code' limit 1; 当列为字符串,则where条件中必须将字符常量值加引号,否则即使该列上存在索引,也不会被使用将
      

  6.   

    解决: 不是长度问题, 是数据表字段的类型选择错了. 没选utf-8  改回来就好了~或者改存储过程varchar参数的编码, 也可以