mysql字段对索引的影响

这几天做了个需求,设计到一个工号的字段,这个字段有些是可以存为整数的,有些必须是字符,所以在数据表中字段的类型设置为了varchar的字符型

但是同事在写sql的时候,where中做了判断,如果工号是整数的,那么就不加引号,字符就加引号

比如:

auid是varchar的类型

select * from member where auid=1234 or auid='T2322'

当然这在查询的时候是可以查到这工号的,但是如果对auid建了索引,这样的查询是用不到索引的

select * from member where auid=‘1234’ or auid='T2322'

这样写才能用到索引,都加上引号

你可能感兴趣的:(mysql)