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')

それは正常ですか?これにより、クエリが遅くなりますか?

4

1 に答える 1

0

これ自体は問題ではないと思います。変換は、クエリからのリテラル値のように見えるものでのみ発生するため、一度だけ発生する必要があり、パフォーマンスに影響を与えることはありません。(なぜ整数リテラルのように見えるものを強制する必要があるのか​​、私にはわかりません。)

おそらく、接続でデータベースで使用されているものとは異なる文字セットが使用されていますか?正気のために、接続とすべてのデータの両方に同じ文字セットを使用するのが最善です。

于 2009-09-29T11:58:32.573 に答える