プライマリキーの順序が指定されていないクラウドスパナテーブルがあるため、デフォルトではASC(昇順)です。私は主キーで結果をDESC(降順)順に並べ替えるためのクエリを持っています。 Cloud Spannerのドキュメントに基づいて、ORDER BY DESCはテーブルを逆の順序でスキャンする最も効率的な方法ではないようです。リバース・スキャンを実行する正しい方法は、表に逆索引を作成することです。それが最善のアプローチですか、それとももっと良いことができますか?クラウドスパナテーブルを逆順にスキャン
0
A
答えて
0
これは正しいですが、ORDER BY DESCは現在、キーがASCの順序である場合、キーオーダーのスキャンと同じくらい効率的ではありません。 DESCの順序でセカンダリインデックスを作成することもできますし、テーブル自体のプライマリキーでDESCの順序付けを使用することもできます(残念ながら、テーブルを再作成する必要があります)。
一般に、表または索引の順序と一致しないORDER BY句はソート・ステップを必要とし、パフォーマンスに影響します。したがって、ORDER BY DESCスキャンは、表または索引の順序が同じ場合に実行されます。これは、キーコンポーネントのいくつかがASCで整列され、いくつかがDESCである場合には特に複雑になります。したがって、ORDER BY節がテーブルまたはインデックスの順序と正確に一致するようにすることが最善です。理解しておくべき重要なことは、Spannerがプライマリキーの順序でデータを格納することです(https://cloud.google.com/spanner/docs/schema-and-data-model#primary_keys参照)。ストレージ形式は、フォワードスキャンを効率的にサポートしています。索引の場合、主キーは索引内の項目をルックアップするために使用できる列のセットです。
関連する問題
- 1. Sybase強制逆スキャン
- 2. redisソートセットを順番にスキャン
- 3. MySQLを逆順にする
- 4. 配列を逆順にコピー
- 5. 逆順でアンピール
- 6. キューの逆順
- 7. 逆順クエリSQL
- 8. アシスタントタスクシリアル1逆順
- 9. スプリット逆順C++
- 10. 逆順レイアウトフロー
- 11. 逆順ブロガーコメント
- 12. Html5ビデオクリップ逆順
- 13. RecyclerView - 逆順
- 14. Object.keysの逆順
- 15. 逆順で配列をソートする - 逆順でない
- 16. NSDataの逆順バイト
- 17. コアデータのswift3逆順
- 18. 逆順BST挿入
- 19. CSSトランジションの逆順
- 20. ggplot2 scale_brewerの逆順
- 21. 擬似コード逆順
- 22. 数字の逆順
- 23. DESCでの逆順逆の結果
- 24. 短い順番の逆順ビット
- 25. リストを逆順に並べ替え
- 26. 単一のチェーンリストを逆順にリスト
- 27. iphoneでビデオファイルを逆順にエクスポートする
- 28. 凡例の順序を逆にする
- 29. divの幅を逆順に並べる
- 30. ペアの順序を逆にする