select 语句的问题 查询慢 本帖最后由 musicrabbit 于 2013-10-20 16:05:32 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Activation.code这一列的数据类型和存储过程中的数据类型相同么 可能是因为数据类型——一个是varchar(8)一个是32 所以用不了索引 楼上说的有道理 可以试一试~ 改了, 尝试了一下, 还是不行.不应该啊 那你强制使用索引试试select id from Activation force index(code_index) where code = _code limit 1; 应该不是强制索引的问题 连possible keys那一列都是空的~ 看那个索引长度是10,code列的长度应该也是10你把varchar(32)和code列的定义类型和长度统一起来 select id from Activation where code = '_code' limit 1; 当列为字符串,则where条件中必须将字符常量值加引号,否则即使该列上存在索引,也不会被使用将 解决: 不是长度问题, 是数据表字段的类型选择错了. 没选utf-8 改回来就好了~或者改存储过程varchar参数的编码, 也可以 导入数据出错,急求帮忙,万分感谢 关于load data用法讨论 sql查询 这个自定义函数哪里错了 MySql 用查询结果 作表名 创建新表 mysql ID自动增加不够用怎么办 关于字段复制的问题 再问随机选取记录 inodb没全文索引的查询效率问题 MYSQL 游标 为什么MySQL的prepare语句不能接受局部变量? 为啥我服务器上的mysql数据库隔一天就不能用了?需要重启mysql才能恢复
你把varchar(32)和code列的定义类型和长度统一起来
select id from Activation where code = '_code' limit 1; 当列为字符串,则where条件中必须将字符常量值加引号,否则即使该列上存在索引,也不会被使用将