2009-09-29 66 views
0

下面的解释扩展让我知道,MySQL在内部做了许多排序转换,如latin1和_utf8。排序规则转换是否正常?

(`mydb`.`node`.`status` = _latin1'1') and (`mydb`.`node`.`type` = _utf8'usernode') 
and (`mydb`.`node`.`uid` = `mydb`.`users`.`uid`) 
and (`mydb`.`usernode_list`.`uid` = _latin1'65484') 

这是正常的吗?这会减慢查询速度吗?

回答

0

我不认为这是一个问题。转换只发生在你的查询中似乎是字面值的东西上,所以它们应该只发生一次,它不应该影响性能。 (为什么它感觉需要强制看起来像是整数文字我不知道)

也许你的连接使用不同的字符集来使用数据库中使用的字符集?为了理智,最好对连接和所有数据使用相同的字符集。