1

WHEREorORDER BY句で頻繁に使用される可変長フィールドを含む非常に多数の行を持つ MySQL テーブルがあり、 INSERTSorUPDATESが作成される頻度が低い場合、フィールドでインデックスを使用するための良い候補になります。 .

ただし、このトピックで見つけたものから、この方法でインデックスを作成すると、MySQL は可変長フィールドを (固定長フィールドと比較して) 非常に迅速に処理しないようです。そのため、列の行を空の文字列で埋めて、それらすべてを一定の最大長に強制することが理にかなっているのだろうかと思っていました。これはまったく意味がありますか?それとも私はこれを考えすぎていますか?

4

1 に答える 1

0

マニュアルをもう少し調べたところ、これはすでに MySQL に組み込まれている「機能」であることがわかりました。

CHAR 列の長さは、テーブルの作成時に宣言した長さに固定されます。長さは 0 から 255 までの任意の値です。CHAR 値が格納されると、指定された長さになるまで右側にスペースが埋め込まれます。CHAR 値が取得されると、末尾のスペースが削除されます。

于 2013-10-04T16:30:46.587 に答える