2017-08-08 35 views
0

オプションmin_read_timestampを使用して、読み取り専用トランザクションを参照しています。ドキュメントごとに、タイムスタンプ> = min_read_timestampですべての読み取りを実行します。読み取り専用トランザクション - タイムスタンプバウンドの読み取りのパフォーマンス

私は数百万行のテーブルを持っていますが、特定のタイムスタンプからは、ほんの少数の行しか書き込まれていないとします。この読み込みのパフォーマンスはどうですか(タイムスタンプ以降に書き込まれた行は少ないと仮定します)。このような読み取りのパフォーマンスを向上させるために、スパナは書き込みタイムスタンプに基づいてインデックスを内部的に維持していますか、読み取りを高速化するためには自分のインデックスに依存する必要があります。

答えて

1

documentationを1として、min_read_timestampとReadOnlyTransactionはタイムスタンプ> = min_read_timestampを選択し、このタイムスタンプか前に更新されたすべてのデータを返します。

したがって、min_read_timestampは正しい使用法ではないため、特定の行を更新するためにクエリで使用します。

クエリを使用して、timestamp_column> = specific_timestampのすべての行を選択し、複合インデックスを作成することをお勧めします。

Cloud Spannerでは、このクエリタイプを最適化するためのインデックスは作成されません。私はこれを読むことをお勧めしますが、あなた自身のインデックスを作成したいかもしれません: https://cloud.google.com/spanner/docs/schema-design#creating_indexes

関連する問題