0

最初は、リソース:{木材:123, 石炭:1, 銀:5} およびボックス:{木材:999, 石炭:20} の形式のドキュメントがありました。この例では、私のサーバーのコードは、木材に十分なスペースがあるか (実際にある)、石炭に十分なスペースがあるか (実際にある)、銀に十分なスペースがあるか (ない場合、スペースがある場合) を (非常に効率的に) テストします。 0 箱にも同梱しません)それなら大丈夫です。

_id 値を木、石炭、銀から数値表現に短縮したいので、占有するスペースが少なくなり、クライアント/サーバーとの間で通信するときに情報のパケットが小さくなります。

_id または _0、_1、_2 の数値として 0、1、2... を使用することに興味があります。数値または文字列を使用する利点は何ですか? Numbers はクエリで高速ですか? (インデックス速度は無視)。

これらの値を手動で追加しています:P

4

1 に答える 1

2

整数を表すのに必要なバイト数は、整数を 256 で割ることによって求められます。文字列を表すのに必要なバイト数は、文字列内の文字数です。

87数字またはを表すのに 1 バイトしか必要202としませんが、文字列と同じものを表すのに 2 ~ 3 バイト (アンダースコアを使用する場合はさらに 1 バイト) かかります。

整数はほぼ確実にここで必要なものです。ただし、オーバーザワイヤのサイズが気になる場合は、キーを短くすることでメリットが得られる可能性があります。woodcoal、およびを使用する代わりに、 、 、およびsilverを使用すると、プルされるレコードごとに 11 バイトを節約できます。wcs

于 2013-06-06T21:26:43.683 に答える