windows下可用mysql吗_在windows下mysql的变量不能作为条件使用索引?

set @a='test';

explain select * from tabl1 where col1=@a;

ubuntu下可以提示使用索引

但在windows server 2008下

就没有提示使用索引。

另外在存储过程中,在ubuntu下可以跑得sql代码,到windows下很慢,查看是不使用索引的缘故。

在存储过程中有

insert into table2 select * from table1 where col1=_var;

对于这个_var变量,在windows并不使用索引。

----------------20110829 14:30--------------------------------------

早上把mysql服务重启了一下然后

set @a='test';

explain select * from tabl1 where col1=@a 不使用的索引的情况没了。

但是在存储过程中declare _area varchar(10);

set _aera='area_test';

explain select * from temp_cell a where a.area=_area;

还是不使用索引。

然后我就改用set _stat=CONCAT('explain select * from temp_cell a where a.area=\'',_area,'\'');

PREPARE STMT FROM _stat;

EXECUTE STMT;

DEALLOCATE PREPARE STMT;

把任务给跑了~

刚才尝试着还原昨天晚上的情况,mmd,又没问题了。。。捣鼓了半天。

真不知道是怎么回事。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值