两条sql语句
select sn from goods_combine where sn in (1021252);
select sn from goods_combine where sn in ('1021252');goods_combine表在sn上有索引
如果sn是整型,这两条sql的效率是一样的
如果sn是字符型:不明白其中的原理,还请高手不吝赐教!

解决方案 »

  1.   

    数据类型不一致的时候,MYSQL需要自行判断对那个数据进行转换。是数据库中的字段转换?还是WHERE条件中的常数。
      

  2.   


    1.用sn是int的时候,在类型不一致的情况下,两条sql效率也是一样的。
    2.mysql自行判断的话,只需要一次就行了,为什么会把所有的索引都扫了一遍呢?
      

  3.   


    1.用sn是int的时候,在类型不一致的情况下,两条sql效率也是一样的。
    2.mysql自行判断的话,只需要一次就行了,为什么会把所有的索引都扫了一遍呢?显然MYSQL是把 字符往INT上转。
      

  4.   


    1.用sn是int的时候,在类型不一致的情况下,两条sql效率也是一样的。
    2.mysql自行判断的话,只需要一次就行了,为什么会把所有的索引都扫了一遍呢?显然MYSQL是把 字符往INT上转。恩。明白了