我有一個Cloud Spanner表,其主鍵排序未指定,所以它默認爲ASC(升序)。我有一個查詢,我想在DESC(降序)順序中按主鍵排序結果。基於Cloud Spanner文檔,似乎ORDER BY DESC並不是以相反順序掃描表的最有效方式。據我瞭解,執行反向掃描的正確方法是在表上創建反向索引。這是最好的方法,還是有更好的我可以做的?以相反順序掃描Cloud Spanner表
0
A
回答
0
這是正確的,ORDER BY DESC目前在Cloud Spanner中的效率並不像按鍵順序掃描(如果按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. HBASE行前綴掃描以相反的順序在HBase的
- 2. PostgreSQL順序掃描小表緩慢
- 3. 以相反順序添加製表符?
- 4. 以相反的順序
- 5. 以相反的順序
- 6. unpickle以相反的順序
- 7. 以相反的順序
- 8. TemplateBeginRepeat以相反的順序
- 9. Plist以相反的順序
- 10. Google Cloud Spanner for Development
- 11. Cloud Spanner讀取與雲端Spanner SQL API
- 12. RDS上的慢PostgreSQL順序掃描?
- 13. Cloud Spanner order without ORDER BY
- 14. Cloud Spanner中的AUTOINCREMENT字段
- 15. 在Cloud Spanner中存儲UUID
- 16. BigQuery jobs.list以非相反順序
- 17. BMP掃描行中的字節順序
- 18. 以相反的順序從mysql_fetch_assoc()
- 19. php數組以相反順序排列
- 20. 按相反順序排序列表
- 21. Bot以相反順序排列網格
- 22. 以相反的順序打印arraylist
- 23. 如何以相反的順序
- 24. 如何以相反順序登錄?
- 25. 菜單以相反的順序出現
- 26. 以相反順序獲取xml值
- 27. 如何以相反順序循環?
- 28. 以相反順序打印陣列
- 29. 顯示以相反的順序
- 30. `叉()`兒子以相反的順序