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参数的编码, 也可以 安装MySQL在linux下面 /etc/init.d/ 没有 mysql [求教]mysql中很多update的慢查询 MySql 插入数据 帮忙看一下方法有什么问题 libpqC库中是否提供数据库备份的函数? 关于两个异地数据库做同步的疑问 linux 下mysql 问题(急) MySQL中如何删除重复记录? 奇怪奇怪真奇怪。怎么我老是遇到奇怪问题? mysql 如何将返回影响行数赋值给变量 影响数据库性能的瓶颈除了磁盘IO还有别的了么? 为什么MySQL的prepare语句不能接受局部变量? 为啥我服务器上的mysql数据库隔一天就不能用了?需要重启mysql才能恢复
你把varchar(32)和code列的定义类型和长度统一起来
select id from Activation where code = '_code' limit 1; 当列为字符串,则where条件中必须将字符常量值加引号,否则即使该列上存在索引,也不会被使用将