2013-06-04 23 views
5

カサンドラには約2,000万行のテーブルがあります。カサンドラの最後のレコードを取得

表は、primary_key列で指定されます。これは文字列です。 'ByteOrderedPartitioner'を使用しているため、行はprimary_keyで、primary_key列のハッシュではありません。

テーブルの最後のレコードを取得するにはどうすればよいですか?

ありがとうございます!

+0

は、必要なときに、あなたのデータ配信の変更や、あなたのクラスタを拡張できます。可能であれば、データモデルを変更して、列範囲のクエリを代わりに使用する必要があります。 – Richard

答えて

1

「非常に最後のレコード」の場合、最後に注文したものを意味していますが、「取得」のようにすることはできません。行をスキャンする必要があります。あなたが行うことができる最高の、アフリカ、あなたの主キーに従ってスキャンするための良い範囲(良いスタートキー)を選択しています。注文したパーティショナを使用して

「プライマリキーが注文したスキャンを可能に これは、あなたが伝統的なインデックス内でカーソル を移動しているようあなたが行をスキャンすることができます意味はたとえば、:datastaxドキュメントから

。アプリケーションでユーザー の名前が行キーとして使用されている場合、 という名前のユーザーがJakeとJoeの間で行をスキャンできます。 ランダムにパーティション化された行キーを使用すると、 MD5ハッシュ(順不同)

もっと良い解決策が見つかったら教えてください。

よろしく、あなたが強くメンテナンスのためByteOrderedPartitionerを使用しないことをお勧めします カルロ

関連する問題