今天一个小伙伴遇到一个奇怪的问题:数据库版本是mysql8,有两张表,都有一个名为valid的bit字段,其中一张表用valid='1'可以正常查到数据,另一张表查不到。
百思不得其解,万能的度娘也没有答案。
最后,反复对比两张表的DDL,发现不正常的那张表,在valid字段上居然建了索引!正常的表上没有索引。删除字段上的索引后,一切正常。
一点思考:有索引的时候,是通过索引的值与查询条件进行匹配的,验证mysql里bit字段索引值匹配的时候,隐式数据类型转换出了问题?
今天一个小伙伴遇到一个奇怪的问题:数据库版本是mysql8,有两张表,都有一个名为valid的bit字段,其中一张表用valid='1'可以正常查到数据,另一张表查不到。
百思不得其解,万能的度娘也没有答案。
最后,反复对比两张表的DDL,发现不正常的那张表,在valid字段上居然建了索引!正常的表上没有索引。删除字段上的索引后,一切正常。
一点思考:有索引的时候,是通过索引的值与查询条件进行匹配的,验证mysql里bit字段索引值匹配的时候,隐式数据类型转换出了问题?